<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[OrderCloud.io API Release Notes]]></title><description><![CDATA[Subscribe for OrderCloud API Release Notifications]]></description><link>https://ordercloud.io</link><image><url>https://ordercloud.io/ordercloud.jpg</url><title>OrderCloud.io API Release Notes</title><link>https://ordercloud.io</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 13:52:38 GMT</lastBuildDate><atom:link href="https://ordercloud.io/release-notes.xml" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Aug 2026 13:52:38 GMT</pubDate><copyright><![CDATA[© Copyright 2026, Sitecore A/S or a Sitecore affiliated company. All rights reserved.]]></copyright><item><title><![CDATA[v1.0.383]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Internal Usage Metrics enhancements</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.383</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.383</guid><pubDate>Thu, 20 Feb 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.382]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Infrastructure enhancements</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.382</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.382</guid><pubDate>Wed, 19 Feb 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.381]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Issue related to anonymous tokens</p></li><li><p>Resolved loophole that allowed a Subscription Integration and OrderCheckout Integration to be used on the same API client</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.381</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.381</guid><pubDate>Thu, 13 Feb 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.380]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Resolved issue resulting in 500s related to requesting refresh tokens</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.380</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.380</guid><pubDate>Mon, 10 Feb 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.379]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Performance enhancements for product sync</p></li></ul><h2>Fixed</h2><ul><li><p>Intermittent 500 on updating a payment on a Subscription</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.379</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.379</guid><pubDate>Mon, 10 Feb 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.378]]></title><description><![CDATA[<h2>New</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/group-ordering">Group Ordering</a> capabilities are now in beta</p><ul><li><p>Allow multiple people to add items to a single order using order invitations to generate tokens</p></li><li><p>Subject to change based on customer feedback</p></li></ul></li><li><p>HTTP Delivery Targets now support custom headers</p></li></ul><h2>Fixed</h2><ul><li><p>Payments on Subscriptions can now be updated</p></li><li><p>MeSubscriptionAdmin is no longer required to view Subscription Items</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.378</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.378</guid><pubDate>Wed, 05 Feb 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.377]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>OrderReturnResponse</code> now accepts xp. If you need to update <code>OrderReturn.xp</code> based on your <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/order-returns#new-integrationevent-type-orderreturn">calculations in middleware</a>, send the entire xp object back to OrderCloud to be updated.</p></li><li><p>Minor additions to the OpenAPI spec</p></li></ul><h2>Fixed</h2><ul><li><p>Unhandled error when attempting to delete a Subscription Order</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.377</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.377</guid><pubDate>Mon, 27 Jan 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.376]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Defining a custom authorization header is now supported on Webhooks, Promotion Integration and Subscription Integration</p><ul><li><p>New Properties: <code>CustomAuthHeaderName</code> and <code>CustomAuthHeaderValue</code></p></li><li><p>The header can be used as an alternative to HMAC validation (using the HashKey) in the event your consumer only supports authorization header validation</p></li><li><p>Used to to verify that any request sent to your webhook can be trusted and is from OrderCloud</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Unexpected error related to deleting a lineitem on a submitted order</p></li><li><p>Indexing issue with child products when unassigning a parent product from a catalog</p></li><li><p>Integration event PATCH causing authorization header to be removed</p></li><li><p>Unexpected error related to deleting a bundle item on an order</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.376</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.376</guid><pubDate>Wed, 22 Jan 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.375]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Performance enhancements to product sync</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.375</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.375</guid><pubDate>Wed, 15 Jan 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.374]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Defining a custom authorization header is now supported on Integration Events (OrderCheckout, OpenIDConnect, OrderReturn, AddToCart)</p><ul><li><p>New Properties: <code>CustomAuthHeaderName</code> and <code>CustomAuthHeaderValue</code></p></li><li><p>The header can be used as an alternative to HMAC validation (using the HashKey) in the event your consumer only supports authorization header validation</p></li><li><p>Used to to verify that any request sent to your webhook can be trusted and is from OrderCloud</p></li><li><p>Custom authorization headers on webhooks and other outbound events coming soon</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Erroneous UserID Properties removed from OpenAPI spec assignment models</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.374</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.374</guid><pubDate>Tue, 14 Jan 2025 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.373]]></title><description><![CDATA[<h2>New</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/promotion-integration">Promotion Integration</a></p><ul><li><p>As powerful as the Rules Engine is, you may sometimes have a use case that is too complex to solve using the properties and functions accessible within an expression, enter the new Promotion Integration. </p><ul><li><p>Continue to leverage all the flexibility and built in validation of Promotions, such as expiration dates, redemption limits, and eligibility</p></li><li><p>When it comes time to apply the discount, if the order is eligible, OrderCloud will call out to your predefined middleware for discount information.</p></li></ul></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.373</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.373</guid><pubDate>Thu, 19 Dec 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.372]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Resolved an issue that was intermittently causing stale data on <code>LineItems</code> immediately after order submit</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.372</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.372</guid><pubDate>Mon, 09 Dec 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.371]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Ad-hoc Products Expansion. Ad-hoc products can now be used in conjunction with Products in OrderCloud.</p><ul><li><p>When you call to add a product to an order, if you have the <code>AddToCart </code>integration event enabled, we will first check to see if the product exists in OrderCloud and add it to the order if so, if not, we will then call out to your middleware for the Product information.</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Issue where <code>LineItem.PriceOverriden</code> was being set to true unexpectedly is now resolved.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.371</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.371</guid><pubDate>Fri, 06 Dec 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.370]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Beta flag allowing us to release features for testing and feedback</p><ul><li><p>Features in beta will be clearly labeled in the portal and the SDK method descriptions</p></li><li><p>Features in beta will not be available in production, a 403 error will be returned</p></li></ul></li><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/inventory-integration">Inventory Integration</a></p><ul><li><p>Send Inventory Changes to the Delivery Target(s) of your choice</p></li><li><p>Ability to send every change or only changes where the <code>NotificationPoint</code> is hit</p></li><li><p><code>QuantityAvailable</code> and <code>PreviousQuantity</code> will be included in the payload</p></li><li><p>Use this feature for things like alerting purchasing managers to re-order a product, or back-in-stock notifications for customers</p></li></ul></li><li><p>New Properties on<a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/product-collections#product-collection-entries"> Product Collection Entries</a>: <code>DateAdded</code> (read-only) and <code>ListOrder</code></p><ul><li><p>Useful for sorting collection entries </p></li><li><p>New endpoint <code>POST v1/productcollections/{productCollectionID}/products</code> </p><ul><li><p>Include <code>ProductID</code> and <code>ListOrder (optionally)</code> in the request body</p></li></ul></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.370</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.370</guid><pubDate>Wed, 04 Dec 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.369]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Performance enhancements to promotion evaluation</p></li></ul><h2>Fixed</h2><ul><li><p>Subscription Integrations are now disabled when restored to Staging</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.369</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.369</guid><pubDate>Wed, 20 Nov 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.368]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Define multiple cryptographically secure <code>ClientSecrets</code> on a single API Client</p><ul><li><p>Existing <code>ClientSecrets</code> will continue to function normally, but we highly encourage transitioning to the new methodology to stay aligned with security best practices</p></li><li><p>New model and endpoints explained in more detail <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/api-client-secrets">here</a></p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Issue has been resolved where InventoryRecords were not found when the user making the API call to add a line item was not the <code>Order.FromUser</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.368</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.368</guid><pubDate>Wed, 06 Nov 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.367]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>NotificationPoint</code> added to InventoryRecords and Variants to support an upcoming inventory integration feature</p></li><li><p>Performance enhancement to listing promotions</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.367</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.367</guid><pubDate>Fri, 01 Nov 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.366]]></title><description><![CDATA[<h2>New</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/authentication#token-revocation">Token Revocation</a></p><ul><li><p>Existing user tokens are now revoked automatically when a user is deactivated or the user&apos;s password is reset</p></li><li><p>A user&apos;s tokens can now be explicitly revoked through new endpoints for admin, buyer, and supplier users</p><ul><li><p><code>DELETE v1/adminusers/{userID}/tokens</code></p></li><li><p><code>DELETE v1/buyers/{buyerID}/users/{userID}/tokens</code></p></li><li><p><code>DELETE v1/suppliers/{supplierID}/users/{userID}/tokens</code></p></li></ul></li><li><p>Additionally, a user can revoke their own tokens without needing an elevated role by calling <code>DELETE v1/me/tokens</code>, which is functionally equivalent to a &quot;sign me out of all devices&quot; feature</p></li></ul></li><li><p>The maximum duration of the refresh token has been extended from 43200 minutes (30 days) to 524160 minutes (364 days) to accommodate client applications that desire longer periods of inactivity before forced logout (e.g. mobile applications, shopping sites). Use token revocation as described above to require a new login</p></li><li><p>EntitySync now has properties, <code>SyncEntityChanged</code> and <code>SyncEntityDeleted</code>, to allow disabling incremental syncs for changes and deletions, while maintaining the ability to run a manual sync (similar to ProductSync)</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://ordercloud.io/api-reference/orders-and-fulfillment/orders/list-eligible-promotions">Listing Eligible Promotions</a> now returns an Amount, which is the discount amount that would be applicable if the promotion was applied to the order</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.366</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.366</guid><pubDate>Thu, 31 Oct 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.365]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Entity Sync now supports Buyer companies and UserGroups</p></li><li><p>Password Configuration now supports a <code>LockoutDuration</code> of 0. If a user has exceeded <code>AllowedFailedAttempts </code>and<code> LockoutDuration</code> is 0, a manual intervention via the API will be required in order to allow the user to try again. </p><ul><li><p>The new routes each require the Admin role specific to the user type.</p><ul><li><p><code>POST v1/buyers/{buyerID}/users/{userID}/unlock</code></p></li><li><p><code>POST v1/adminusers/{userID}/unlock</code></p></li><li><p><code>POST v1/suppliers/{supplierID}/users/{userID}/unlock </code></p></li></ul></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.365</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.365</guid><pubDate>Thu, 10 Oct 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.364]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Performance enhancements to querying Inventory Records</p></li></ul><h2>Fixed</h2><ul><li><p>Promotion calculation bug when multiple promotions applied</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.364</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.364</guid><pubDate>Wed, 02 Oct 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.363]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Issue related to child product xp inheritance on the Order Worksheet when certain special characters are present</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.363</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.363</guid><pubDate>Mon, 30 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.362]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Enhancements to internal usage metrics</p></li><li><p>Infrastructure clean up</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.362</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.362</guid><pubDate>Tue, 24 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.361]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Updates to internal usage metrics reporting</p></li><li><p>Infrastructure changes to support enhanced data security features</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.361</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.361</guid><pubDate>Mon, 16 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.360]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Promotion bug related to <code>items.discountedtotal</code> function released yesterday</p></li><li><p>Preventing a bad expression from being used with <code>any()</code> function in a Promotion</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.360</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.360</guid><pubDate>Thu, 12 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.359]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>Gratuity </code>has been added the <code>Order</code> model</p><ul><li><p>An optional non-negative decimal</p></li><li><p>In addition to gratuities/tips, it can be used for donation based or pay-what-you-wish (PWYW) orders</p></li></ul></li><li><p>A new Rules Engine expression <code>items.discountedtotal</code> was introduced to take into account discounts on already applied promotions when applying a new promotion.</p><ul><li><p>This can be useful in scenarios where you allow stacking discounts and want to calculate additional discounts off the discounted price.</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Minor <code>ProductSync</code> bugs</p></li><li><p>Promotion issue when using the <code>incategory</code> function when multiple promotions were applied</p></li><li><p>Product caching issue after an associated PriceSchedule was deleted</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.359</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.359</guid><pubDate>Wed, 11 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.358]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Resolved an issue in <code>ProductSync</code> related to inventory</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.358</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.358</guid><pubDate>Thu, 05 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.357]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>QuantityLimitPerOrder</code> added to Promotions. When defined the <code>ValueExpression</code> will be the discount applied to each qualifying quantity of eligible line items. More details <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/rule-based-promotion-expressions#limiting-promotion-eligibility">here</a></p></li><li><p><code>EntitySync</code> now includes <code>InventoryRecords</code> that allows you to configure OrderCloud to transmit inventory record updates to your integrations via the delivery target of your choice. For performance reasons, <code>InventoryRecords</code> will not be sent in any newly created <code>ProductSync</code> configurations, existing configurations are not impacted. Product level Inventory (not associated with an <code>InventoryRecord</code>) will still be included in <code>ProductSync</code></p></li></ul><h2>Fixed</h2><ul><li><p>Resolved an bug related to assigning child products to categories</p></li><li><p>RedemptionLimitPerUser is now only counted against orders that have been submitted and are in the Open or Completed status.</p></li><li><p>Fixed a bug that allowed an ItemLevel promotion to be created without the <code>item</code> token in the <code>EligibleExpression</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.357</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.357</guid><pubDate>Wed, 04 Sep 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.356]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Promotions can now be added or removed from orders by users with <code>OrderAdmin</code> after submit</p></li></ul><h2></h2>]]></description><link>https://ordercloud.io/release-notes/v1.0.356</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.356</guid><pubDate>Mon, 26 Aug 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.355]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Subscription <code>NextOrderDate</code> will no longer increment one hour ahead each time it processes</p></li><li><p>ApiClients associated with a webhook can now be deleted, was throwing a 500 prior to the fix</p></li><li><p>Rules Engine <code>item.incategory()</code> now works for child products assigned to categories that their parent is not assigned to</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.355</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.355</guid><pubDate>Mon, 19 Aug 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.354]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Variant information was missing from LineItems if variants had been regenerated, current information will now be populated as long as a variant with a matching ID exists</p></li><li><p>Custom pricing (sale, subscription, bundle) was being miscalculated in certain scenarios, including when changes were made to a price schedule after a lineitem had been created.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.354</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.354</guid><pubDate>Fri, 09 Aug 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.353]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Child Products can now be assigned to their own categories. </p><ul><li><p>The Parent Product must be assigned to the catalog that the category exists in.</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>500 error on <code>PUT v1/cart</code></p></li><li><p>One time Addresses on LineItems were being overwritten on submit in certain cases</p></li><li><p>Supplier pricing bug where product price was inaccurate in the cart</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.353</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.353</guid><pubDate>Tue, 16 Jul 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.352]]></title><description><![CDATA[<h2>New</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/bidirectional-contenthub-integration">Bidirectional Content Hub Integration</a></p><ul><li><p>Support to sync product data between Content Hub and OrderCloud, see documentation for detailed configuration information.</p></li><li><p>Integration between OrderCloud and Content Hub creates a product shell in Content Hub in your specified schema any time a product is created in OrderCloud. The intent of this integration is to allow seamless editing of product content if you create products in OrderCloud. No additional product changes/updates in OrderCloud will be synced to Content Hub, the integration is only meant to create a record in Content Hub for you.</p></li><li><p>Integration between Content Hub and OrderCloud tracks changes to three properties you define as a unique ID, Name and Description on your Content Hub model. These properties mapped to OrderCloud’s Product.ID, Product.Name, and Product.Description will be kept up to date with the values in Content Hub. The integration will also give you the option of syncing flat properties to OrderCloud’s Product.xp (non multi-language/taxonomy fields), and will also sync Content Hub asset Public Links to OrderCloud’s Product.xp.Images as an array of objects containing URLs for the Original, Thumbnail and Preview - depending on the configuration of the assets&apos; public links.</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Fixed an issue with auto apply promotions not being added correctly.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.352</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.352</guid><pubDate>Wed, 10 Jul 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.351]]></title><description><![CDATA[<p>Performance improvements</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.351</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.351</guid><pubDate>Fri, 28 Jun 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.350]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Two new properties on <code>Promotion: </code></p><ul><li><p>Can only be used on Promotions where <code>LineItemLevel</code> is true.</p><ul><li><p><code>ItemLimitPerOrder</code></p><ul><li><p>Positive integer that defines the maximum number of items a given promotion will be applied to</p></li></ul></li><li><p><code>ItemSortBy</code></p><ul><li><p>Comma delimited string of line item properties</p></li><li><p>Sort descending by using <code>!</code></p></li><li><p>Supports sorting on xp</p></li><li><p>If no value is provided, items will be sorted by the default value which is <code>DateAdded</code> ascending </p></li></ul></li></ul></li><li><p>Sample use case: 30% off the least expensive 3 items if a user spends at least $50</p></li></ul></li></ul><pre><code class="language-json">{
  &quot;Code&quot;: &quot;30OFF&quot;,    
  &quot;LineItemLevel&quot;: true,
  &quot;ItemLimitPerOrder&quot;: 3,
  &quot;ItemSortBy&quot;: &quot;LineSubtotal&quot;,
  &quot;EligibleExpression&quot;: &quot;order.Subtotal &gt;= 50&quot;,
  &quot;ValueExpression&quot;: &quot;item.LineSubtotal * .3&quot;
}</code></pre><ul><li><p>New Rules Engine function <code>inparentcategory(&apos;{categoryID}&apos;)</code></p><ul><li><p>checks the category tree for any products assigned to the category specified or any of it&apos;s children, at any depth</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Resolved a bug that prevented Subscription Reminders from being sent in the future if a Subscription failed to process</p></li><li><p>Throw a helpful error if a webhook URL doesn&apos;t begin with HTTP</p></li><li><p>Provide more helpful error data on certain promotion errors</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.350</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.350</guid><pubDate>Wed, 26 Jun 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.349]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>Recipient Locale and BuyerID are now populated in Message Sender payload.</p></li><li><p>Order Validate and Submit now throw an error, as expected, when an item that is no longer purchasable is on the order. This includes things like inactive products, products no longer assigned to catalogs, etc..</p></li><li><p>Prevent setting  <code>IsAnonBuyer = true</code> on an API Client where a Seller User is set as the <code>DefaultContextUserName</code>, and vice versa.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.349</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.349</guid><pubDate>Thu, 13 Jun 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.348]]></title><description><![CDATA[<p>Bug fixes and performance enhancements</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.348</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.348</guid><pubDate>Thu, 06 Jun 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.347]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p>The delivery configuration flag is now honored when it is disabled.  All existing delivery configurations have been enabled when releasing this fix in order not to break any existing functionality.</p></li><li><p>Resolved incorrect promotion discount amount when percentage off promotions that include either <code>order.PromotionDiscount</code> or <code>item.PromotionDiscount</code> in the value expression are combined on an order.</p></li></ul><h2>New</h2><ul><li><p>Performance enhancement making it less likely for one marketplace&apos;s product updates to delay updates performed by other marketplaces.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.347</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.347</guid><pubDate>Wed, 05 Jun 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.346]]></title><description><![CDATA[<h2>New</h2><ul><li><p>The rules engine now supports an <code>ifs()</code> function.</p><ul><li><p>This can be used to support evaluation of tiered threshold discounts. For example: spend $10 on Category A get 5% off, spend $30 get 10% off, spend $50 get 15% off would be written like this:</p><ul><li><p>EligibleExpression: &quot;items.total(product.incategory(&apos;A&apos;) &gt;= 10 and item.product.incategory(&apos;A&apos;)&quot;</p></li><li><p>ValueExpression: &quot;ifs(items.total(product.incategory(&apos;A&apos;)) &gt;= 50, item.LineSubtotal * .15, items.total(product.incategory(&apos;A&apos;)) &gt;= 30, item.LineSubtotal   * .10,  item.LineSubtotal * .05)&quot;</p></li></ul></li><li><p>The final parameter in the function is the fall back (think of it as <code>default </code>in a switch statement, or an <code>else</code>) that is used if none of the conditions are met, in this case, we included the minimum spend in the eligible expression, so the fall back is a 5% discount.</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.346</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.346</guid><pubDate>Thu, 23 May 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.341]]></title><description><![CDATA[<h2>New</h2><ul><li><p>The category &quot;active&quot; property was added to the published ProductSync schema.</p></li><li><p>The impersonation access token duration has been updated to either 60 minutes, or the length of the token duration of the API Client impersonation is configured with, which ever is greater.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.341</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.341</guid><pubDate>Wed, 08 May 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.340]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Delivery configuration introduces a new delivery target for Cosmos DB.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.340</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.340</guid><pubDate>Thu, 02 May 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.339]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Promotions owned by the Marketplace Owner can now be applied to orders where a Supplier is the <code>ToCompanyID</code></p></li></ul><h2>Fixed</h2><ul><li><p>Resolved a bug that did not allow an order to be forwarded again after deleting a forwarded order.</p></li><li><p>Filters are now being evaluated correctly when calling <code>GET v1/me/products/{productID}/sellers</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.339</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.339</guid><pubDate>Tue, 30 Apr 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.338]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Delivery configuration introduces a new delivery target for Azure Tables.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.338</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.338</guid><pubDate>Fri, 12 Apr 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.333]]></title><description><![CDATA[<h2>New</h2><ul><li><p>The AzureBlob delivery configuration target now allows you to override the default container name.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.333</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.333</guid><pubDate>Wed, 03 Apr 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.332]]></title><description><![CDATA[<h2>New</h2><ul><li><p>The OIDC state token is now valid for 15 minutes instead of five</p></li><li><p><code>LineItem.ShipFromAddressID</code> can now be set to a Supplier Address</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/entity-synchronization">EntitySync</a> now supports synching Suppliers to the delivery configuration of your choice.</p></li></ul><h2>Fixed</h2><ul><li><p>Prevent a 500 if a null value is passed into the <code>LineItem.Specs </code>array</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.332</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.332</guid><pubDate>Thu, 28 Mar 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.328]]></title><description><![CDATA[<h2>New</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/entity-synchronization">EntitySync</a> now supports synching Admin, Buyer and Supplier users.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.328</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.328</guid><pubDate>Tue, 19 Mar 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.327]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Message Senders now have an <code>AllowAllBuyers</code> property which allows you to forgo explicit message sender assignments. Helpful in marketplace with many buyers who all need to receive the same emails</p><ul><li><p>defaults to false</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Bug that inadvertently removed supplier specific product assignments has been resolved</p></li><li><p>Reversed a change made in v1.0.326 that incorrectly limited xp characters on integration event responses</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.327</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.327</guid><pubDate>Wed, 13 Mar 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.326]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Child Products</p><ul><li><p>Now supported in ProductSync.&nbsp; IsParent and ParentID properties added to payload.&nbsp; Children are published with full inheritance.</p></li></ul></li><li><p><code>DateCreated</code> now available on Subscriptions</p></li></ul><h2>Fixed</h2><ul><li><p><code>IntegrationEventResponse</code> is now enforcing the documented limit of 8000 characters on xp</p><ul><li><p>On 03/13/2024 it was determined this limit was not valid, it was removed it in v1.0.327</p></li></ul></li></ul><h2></h2>]]></description><link>https://ordercloud.io/release-notes/v1.0.326</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.326</guid><pubDate>Tue, 12 Mar 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.325]]></title><description><![CDATA[<h2>New</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://ordercloud.io/knowledge-base/entity-synchronization">EntitySync</a></p><ul><li><p>OrderCloud introduces the ability to publish base entities to the destination of your choice.&nbsp; You will be notified when the entities are created, updated or deleted via any of the configured delivery targets.</p></li><li><p>The current release allows you to synchronize categories, with many more entities in the near future.&nbsp; This is just the beginning.</p></li></ul></li></ul><h2></h2>]]></description><link>https://ordercloud.io/release-notes/v1.0.325</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.325</guid><pubDate>Tue, 05 Mar 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.324]]></title><description><![CDATA[<h2>New</h2><ul><li><p>New endpoint and MessageSender: <code>ForgotUsername</code></p><ul><li><p><code>POST v1/username/retrieve</code> allows users to retrieve forgotten usernames by providing an email address if the corresponding message sender is setup</p></li><li><p>This addition will result in a breaking change to the <strong>SDKs only </strong>as we are consolidating forgotten passwords and forgotten usernames under <code>ForgottenCredentials</code> </p></li></ul></li><li><p>Marketplace owners can now create explicit product assignments for suppliers with price schedules they own</p><ul><li><p>correct pricing should also now be returned on product list calls when defining a sellerID even when that seller does not own the price schedule</p><p></p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>prevent a 500 from occurring when attempting to make a call as a deleted user</p><p></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.324</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.324</guid><pubDate>Tue, 05 Mar 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.323]]></title><description><![CDATA[<h2>New</h2><ul><li><p>New properties on Lineitem<code> OutgoingOrderID </code>and <code>IncomingOrderID</code></p><ul><li><p>Only populated for Marketplace Owners, filtering is supported</p></li><li><p>This property will allow a marketplace owner to easily determine which orders a given lineitem is associated with</p></li></ul></li><li><p>Child Products now inherit Parent Product properties on <code>Lineitem.Product</code></p></li></ul><h2>Fixed</h2><ul><li><p>Removed an erroneous error when attempting to add a lineitem to an order that had an invalid promotion applied.</p><ul><li><p>Validate and Submit will still throw errors for this invalid promotion, we just no longer prevent the new lineitem from being added</p></li></ul></li><li><p>Fix for Message Senders not triggering when Message Sender xp is null</p></li><li><p>Added better error responses for OIDC issues</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.323</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.323</guid><pubDate>Thu, 15 Feb 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.320]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>IsOnSale</code> </p><ul><li><p>Now exposed on LineItems. This will allow you to reference the property in rule engine expressions for <code>Promotions</code> and <code>ApprovalRules</code></p></li><li><p>Can now be filtered on when listing <code>PriceSchedules</code></p></li></ul></li><li><p>A new ErrorConfig endpoint Validate allows configured error destinations to be tested to ensure they are properly configured. Invoking this endpoint will send a test message to the configured destination.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.320</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.320</guid><pubDate>Mon, 29 Jan 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.318]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Removed <code>RedemptionCode</code> from <code>SpendingAccount</code> model to avoid confusion. This value did not control any behavior in OrderCloud and was not being used by any customers.</p></li></ul><h2>Fixed</h2><ul><li><p>Inventory Records now work correctly with variants when <code>VariantLevelTracking</code> is false at the product level</p></li><li><p>An error is now thrown if you attempt to apply a promotion to an order that is not awaiting approval or unsubmitted</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.318</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.318</guid><pubDate>Thu, 18 Jan 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.319]]></title><description><![CDATA[<h2>New</h2><p>A <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configuration</a> ID can now be assigned to <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/integrations/message-senders">Message Senders</a> providing you the ability to publish these messages to the destination of your choice.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.319</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.319</guid><pubDate>Tue, 09 Jan 2024 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.315]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Added routes to Cart API for setting and updating one time shipping and billing addresses</p></li></ul><h2>Fixed</h2><ul><li><p>Listing promos before cart exists now returns an empty list page instead of null values</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.315</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.315</guid><pubDate>Mon, 18 Dec 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.314]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>QueryParams</code> object added to all webhook JSON payload bodies</p></li><li><p>Error configuration allows you to define a marketplace level delivery configuration which will deliver customer specific errors regarding asynchronous operations (such as Product Sync and post web hooks) to the custom delivery target of your choosing.&nbsp; A great debugging tool when setting up a marketplace with asynchronous integration endpoints.</p></li><li><p><code>BuyerID</code> is now optional on ImpersonationConfigs. Omitting the <code>BuyerID</code> from the config will allow the impersonating user to impersonate any buyer user within the marketplace. </p></li><li><p><code>customParams</code> passed into <code>ocrplogin</code> endpoint for OIDC will now be persisted through the login process and passed to your <code>SyncUserIntegrationEvent.</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.314</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.314</guid><pubDate>Wed, 13 Dec 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.313]]></title><description><![CDATA[<h2>New</h2><ul><li><p>All Webhooks have been migrated to use <code>https </code>if they were not already doing so.</p></li></ul><h2>Fixed</h2><ul><li><p>An anon user would receive a 204 response when calling to transfer an order, even though the transfer failed because that is not a supported workflow. The call now returns a 403 as expected.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.313</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.313</guid><pubDate>Mon, 20 Nov 2023 06:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.310]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Redirects are now disallowed on Webhooks</p></li><li><p>Marketplaces with <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/order-search">Premium Search for Orders</a> enabled can now reference <code>orderhist</code> and <code>itemhist</code> in Rules Engine expressions on Promotions and Approval Rules</p><ul><li><p>Examples<br><strong>User has placed more than four orders in the past year</strong><br><code>EligibleExpression</code>: <em>orderhist.count(&apos;1Y&apos;) &gt; 4</em><br><strong>User has ordered a given product 10 or more times in the past 6 months</strong><br><code>EligibleExpression</code>: <em>itemhist.quantity(&apos;6M&apos;, &apos;Product.ID = {productID}&apos;) &gt;= 10</em><br><strong>Give 1% of the total value of all orders placed in the past month as a discount</strong><br><code>ValueExpression</code>: <em>orderhist.total(&apos;1M&apos;) * .01</em><br></p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Unsubmitted orders with the status of Canceled were inadvertently being excluded from the nightly <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/orders#unsubmitted-order-cleanup">Unsubmitted Order Cleanup</a></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.310</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.310</guid><pubDate>Thu, 02 Nov 2023 04:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.309]]></title><description><![CDATA[<h2>New</h2><ul><li><p>New endpoints to support adding <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/product-bundles">Product Bundles</a> to subscriptions</p></li><li><p>Ability to use <code>LineItem.Product.Inventory</code> properties in rule expressions for promotions and approval rules</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.309</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.309</guid><pubDate>Thu, 26 Oct 2023 04:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.308]]></title><description><![CDATA[<h2>New</h2><ul><li><p>We’re excited to present a new, often requested, feature: <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/product-bundles">Product Bundles</a>. This feature can be used in a variety of ways to help customers achieve their ecommerce goals.</p><p></p><h3>Possible Use Cases</h3><ul><li><p>I need new employees to purchase uniform bundles, I want to provide the products in the bundle at a discount and ensure they are purchasing a minimum quantity of each item.</p></li><li><p>I want to cross-sell complementary beauty products, so I create a bundle consisting of two or more products that are commonly used together at a slightly reduced price.</p></li><li><p>I know people buying video game consoles also likely need other equipment, to entice them to buy all of the items at once, I need a bundle that includes a console, headset, and choice of game.</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Resolved a bug that resulted in a 500 when attempting to PATCH a cart that had not yet been created on the OC side</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.308</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.308</guid><pubDate>Mon, 23 Oct 2023 04:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.307]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Search 2.0 is now supported via the SearchIngestion <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configuration</a>.  This can be used in conjunction with <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/productsync">Product Synchronization</a>.</p></li><li><p>Azure blobs is now supported via the AzureBlob <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configuration</a>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.307</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.307</guid><pubDate>Mon, 16 Oct 2023 04:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.306]]></title><description><![CDATA[<h2>New</h2><ul><li><p><code>PUT v1/me/orders?anonUserToken={anonUserToken}</code> now supports transferring an order to a buyer user belonging to a different buyer than the anonymous user</p></li></ul><h2>Fixed</h2><ul><li><p>Resolved a bug caused by attempting to delete a product, or supplier address associated with an <code>InventoryRecord</code></p></li><li><p>Throw a friendly error when <code>ShipEstimates</code> is empty and an attempt to set ship methods is made</p></li><li><p>Now populating Variant and Price Schedule information on the lineitem when the item is created after the order has been submitted</p></li><li><p>Throw a friendly error when too many concurrent requests are made to an integration event</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.306</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.306</guid><pubDate>Mon, 09 Oct 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.304]]></title><description><![CDATA[<h2>New Features</h2><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/ordersync">Order Synchronization</a> allows you to synchronize your orders with the associated <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configuration</a> mechanism of your choice.&nbsp;This way, you will be notified anytime an order is submitted and of any changes it incurs in the future.&nbsp;</p><h2>Update</h2><p>Webhooks can now be optionally configured to use the <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configurations</a>.&nbsp;This allows you to delivery their payloads to the delivery configuration mechanism of your choice.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.304</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.304</guid><pubDate>Mon, 25 Sep 2023 04:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.299]]></title><description><![CDATA[<h2>New</h2><ul><li><p>Added <code>ParentID</code> to <code>LineItem.Product</code></p><ul><li><p>Please note, this value will not be populated on orders submitted prior to this release.</p></li></ul></li></ul><h2>Fixed</h2><ul><li><p>Removed URL unsafe/reserved characters from password reset verification code</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.299</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.299</guid><pubDate>Wed, 09 Aug 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.298]]></title><description><![CDATA[<h2>Fixed</h2><ul><li><p><code>GET v1/integrations/subscription</code> now returns a 404 response instead of a 204 (No Content) response when the Subscription Integration does not exist for the selected marketplace</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.298</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.298</guid><pubDate>Thu, 27 Jul 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.296]]></title><description><![CDATA[<h2>New Feature</h2><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/productsync">Product synchronization</a> allows you to synchronize your catalog content with any system of your choosing using the pre-defined delivery mechanism that best suits your needs.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.296</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.296</guid><pubDate>Wed, 26 Jul 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.295]]></title><description><![CDATA[<h2>Breaking Change</h2><ul><li><p>The Http delivery target requires that a Secret be passed when it is configured. You should update any existing Http delivery target you have configured. Your existing Http targets will continue working as it is not an internal breaking change. Please refer to the <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configuration</a> for more information on the usage of the secret,</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.295</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.295</guid><pubDate>Tue, 25 Jul 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.294]]></title><description><![CDATA[<h2>New</h2><ul><li><p>An endpoint to allow listing product pricing for multiple sellers in a single API call: <code>GET v1/me/products/{productID}/sellers</code></p></li></ul><h2>Fixed</h2><ul><li><p>Buyer ID is now optional when creating a shipment to allow Suppliers to create shipments on AutoForwarded orders when they don&apos;t have the Buyer ID</p></li><li><p>Added some missing endpoints for variant level inventory records</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.294</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.294</guid><pubDate>Thu, 20 Jul 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.293]]></title><description><![CDATA[<h2><strong>New</strong></h2><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/delivery-configuration">Delivery Configuration</a> is a new way you configure the location of certain types of messages within the context of OrderCloud.  These can include Known and Custom locations.&nbsp; Custom locations allow you to have 100% control over the integration and allows you to deliver these messages to either an Https endpoint, Event Hub Namespace or a Kafka cluster.</p><h2><strong>Changed</strong></h2><p>Currently this new feature is leveraged by <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/tracking-events">Tracking Events</a> which has been modified to leverage Delivery Configurations.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.293</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.293</guid><pubDate>Wed, 28 Jun 2023 04:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.292]]></title><description><![CDATA[<h2>New</h2><ul><li><p>We first introduced <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/product-collections">ProductCollections</a> just over a year ago, and we&apos;re excited to share we&apos;ve added new functionality to support additional use cases beyond private lists of products. Adding new endpoints and a new <code>AccessLevel</code> property allows greater flexibility in the implementation of ProductCollections in your marketplace.<br>Here are just a few ideas of how you could use the expanded functionality:</p><ul><li><p>Marketplace Owners and Suppliers can now view <code>ProductCollections</code> with the <code>ProductCollectionReader</code> role allowing insights into which products customers are saving to their collections.</p></li><li><p>Allow a customer to create a grocery list and invite someone in their household to view and administer the items on it.</p></li><li><p>Encourage customers to make <code>Sharable</code> Holiday Wish lists for family members.</p></li></ul></li><li><p>Read more about the new functionality <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/product-collection-enhancements">here</a>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.292</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.292</guid><pubDate>Mon, 26 Jun 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.290]]></title><description><![CDATA[<h2>New</h2><ul><li><p>As announced last week, we are now enforcing that all Webhook Urls start with <code>HTTPS</code> on POST/PUT/PATCH. This will not impact any existing Webhook Urls unless you attempt to change them. We have communicated with customers who are not using <code>HTTPS</code> to give them an opportunity to update those and make any necessary changes before we begin enforcing the pattern on existing Urls. </p></li></ul><h2>Fixed</h2><ul><li><p>Fixed a bug where calling <code>POST v1/orders/{direction}/{orderID}/calculate</code> was causing promotions to be recalculated incorrectly.<br></p></li></ul><p>Please let us know if you have any questions.&nbsp;</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.290</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.290</guid><pubDate>Thu, 22 Jun 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.287]]></title><description><![CDATA[<h2>New</h2><ul><li><p>New <code>in()</code> function added to the <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/rule-based-promotion-expressions#promotions-overview">Rules Engine</a></p></li></ul><h2>Fixed</h2><ul><li><p>Fixed an issue where auto applying promotions was failing after adding a lineitem.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.287</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.287</guid><pubDate>Wed, 07 Jun 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.285]]></title><description><![CDATA[<h3>Bug Fixes</h3><ul><li><p>Promotions: expression evaluation will now take into account existing discounts when referencing <code>item.LineTotal</code> or <code>Order.Total</code></p></li><li><p>Subscriptions: order worksheet is now updated prior to sending to middleware</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.285</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.285</guid><pubDate>Wed, 24 May 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.283]]></title><description><![CDATA[<ul><li><p>Enhancement to Subscriptions to allow using Ad-Hoc Products as Subscription Items</p><ul><li><p>Learn more about <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/ad-hoc-products">Ad-Hoc Products</a> and <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/subscriptions">Subscriptions </a>in our Knowledge Base</p></li></ul></li><li><p>Bug fix: add validation to <code>Variant</code> Name so that a helpful error is thrown when attempting to update it to more than 100 characters </p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.283</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.283</guid><pubDate>Tue, 16 May 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.279]]></title><description><![CDATA[<ul><li><p>OIDC enhancement that allows custom query parameters to be included in the <code>GET /ocrplogin</code> request. Read more about it <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/sso-via-openid-connect#custom-query-parameters">here</a>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.279</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.279</guid><pubDate>Thu, 20 Apr 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.278]]></title><description><![CDATA[<ul><li><p>Rule engine enhancement that allows rule engine expressions to check on an array items. The following methods are supported: &apos;contains&apos;, &apos;count&apos;, &apos;all&apos;, &apos;any&apos;. You can find all the details about the feature <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/rule-based-promotion-expressions">here</a>.</p></li><li><p>OIDC now supports a response_mode of form_post from IDPs. We recommended this configuration for anyone using Azure as their IDP as their authorization codes have <a target="_blank" rel="noopener noreferrer nofollow" href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad/azure-ad-b2c-authorization-code-and-refresh-token-size-increase/m-p/3770890">increased in size</a>, and are no longer able to be handled properly as query parameters. Read more <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/sso-via-openid-connect#configuring-your-identity-provider-idp">here</a>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.278</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.278</guid><pubDate>Wed, 19 Apr 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.276]]></title><description><![CDATA[<ul><li><p>New feature to support subscription orders. You can find all the details about the feature <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/subscriptions">here</a>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.276</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.276</guid><pubDate>Mon, 10 Apr 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.274]]></title><description><![CDATA[<ul><li><p>Expansion of <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/multi-location-inventory">InventoryRecords</a>.</p><ul><li><p>Added support for assignments to allow more granular control of access to a given Inventory Record.</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.274</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.274</guid><pubDate>Mon, 03 Apr 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.270]]></title><description><![CDATA[<h2>New</h2><ul><li><p>New read only property <code>DateApplied</code> returned on the Promotion resource when <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/orders-and-fulfillment/orders/list-promotions#response-body">listing promotions on an order</a></p></li><li><p>New <code>contains()</code> method added to the <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/rule-based-promotion-expressions#promotions-overview">Rules Engine</a></p></li></ul><h2>Fixed</h2><ul><li><p>Fixed an issue where incorrect error was returned after attempting to set UnitPrice on subsequent lineitem PUT requests</p></li><li><p>Fixed an issue with child/parent product visibility inheritance</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.270</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.270</guid><pubDate>Tue, 21 Mar 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.267]]></title><description><![CDATA[<blockquote><p>This feature changed significantly in <a target="_blank" rel="noopener noreferrer nofollow" href="/release-notes/v1.0.293">v1.0.293</a>. Please see new release notes along with updated documentation.</p></blockquote><p></p><p>OrderCloud introduces Tracking Events for commerce solutions, offering analytical insights and infrastructure for targeted systems. For more information, see <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/tracking-events">Tracking Events</a></p><h2>New Resource</h2><p><code>TrackingEvent</code></p><pre><code class="language-json">{
  &quot;ID&quot;: &quot;&quot;,
  &quot;EventType&quot;: &quot;UserLoggedIn&quot; | &quot;LineItemAdded&quot; | &quot;LineItemUpdated&quot; | &quot;OrderSubmitted&quot;,
  &quot;ClientID&quot;: &quot;&quot;,
  &quot;Name&quot;: &quot;&quot;,
  &quot;ConfigData&quot;:&quot;&quot;
}</code></pre><h2>New Endpoints</h2><ul><li><p><code>GET v1/integrations/TrackingEvents</code></p></li><li><p><code>GET v1/integrations/TrackingEvents/{id}</code></p></li><li><p><code>POST v1/integrations/TrackingEvents</code></p></li><li><p><code>PUT v1/integrations/TrackingEvents/{id}</code></p></li><li><p><code>PATCH v1/integrations/TrackingEvents/{id}</code></p></li><li><p><code>DELETE v1/integrations/TrackingEvents/{id}</code></p></li></ul><p>For more information, see <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/integrations/tracking-events">Tracking Events API Reference</a></p>]]></description><link>https://ordercloud.io/release-notes/v1.0.267</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.267</guid><pubDate>Tue, 21 Feb 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.265]]></title><description><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/child-products"><strong>Child Products</strong></a></p>]]></description><link>https://ordercloud.io/release-notes/v1.0.265</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.265</guid><pubDate>Thu, 09 Feb 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.263]]></title><description><![CDATA[<ul><li><p>New properties and endpoints to <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/promotion-enhancements"><strong>enhance the Promotions resource in OrderCloud.</strong></a></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.263</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.263</guid><pubDate>Mon, 23 Jan 2023 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.261]]></title><description><![CDATA[<ul><li><p>Add <code>POST v1/cart/calculate</code> endpoint</p></li><li><p>Misc. Order Calculate bug fixes</p></li><li><p>New optional parameter, <code>adjustListOrders</code>, on Category <code>POST</code>, <code>PUT</code>, and <code>PATCH</code></p><ul><li><p>If <code>adjustListOrders=true</code>, we will increment ListOrder for all categories with a ListOrder greater than or equal to the one included in the request body.</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.261</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.261</guid><pubDate>Fri, 06 Jan 2023 06:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.257]]></title><description><![CDATA[<ul><li><p>Fixed bug where a buyer user (user A) could request a token to impersonate a user in a different buyer using a clientID they (user A) are not assigned to and no impersonation config exists for the client ID and impersonated buyer.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.257</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.257</guid><pubDate>Wed, 09 Nov 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.251]]></title><description><![CDATA[<ul><li><p>New endpoints to facilitate <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/cart"><strong>simplified development of shopping experiences in OrderCloud</strong></a></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.251</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.251</guid><pubDate>Thu, 01 Sep 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.246]]></title><description><![CDATA[<ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/ad-hoc-products"><strong>Ad-Hoc Products</strong></a></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.246</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.246</guid><pubDate>Wed, 22 Jun 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.241]]></title><description><![CDATA[<ul><li><p>New features to support <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/product-collections"><strong>Product Collections</strong></a>.</p><ul><li><p>Please note, these new endpoints will not be available in the Console until later this week.</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.241</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.241</guid><pubDate>Wed, 08 Jun 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.238]]></title><description><![CDATA[<ul><li><p>New features to support <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/order-returns"><strong>Order Returns</strong></a>.</p></li><li><p><code>PriceScheduleID</code> added to <code>LineItems</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.238</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.238</guid><pubDate>Wed, 18 May 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.231]]></title><description><![CDATA[<p>New features to support <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/sale-prices"><strong>Sale Prices in OrderCloud</strong></a>. Various bug fixes.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.231</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.231</guid><pubDate>Wed, 09 Mar 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.225]]></title><description><![CDATA[<p>New features to support <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/multi-location-inventory"><strong>multi-location inventory in OrderCloud Marketplaces</strong></a>.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.225</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.225</guid><pubDate>Tue, 11 Jan 2022 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.220]]></title><description><![CDATA[<p>New features to support <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/globalization-multicurrency-multilanguage"><strong>multi-language and multi-currency support in OrderCloud Marketplaces</strong></a>.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.220</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.220</guid><pubDate>Wed, 24 Nov 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.214]]></title><description><![CDATA[<p>New features to enhance flexibility around <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/products-pricing-order-in-marketplaces"><strong>Products, Pricing, and Ordering in OrderCloud Marketplaces</strong></a>.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.214</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.214</guid><pubDate>Tue, 27 Jul 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.202]]></title><description><![CDATA[<ul><li><p><strong>Bugfix:</strong> ensure <code>Promotion.RedemptionCount</code> does not decrement prior to order submit.</p></li><li><p><strong>Bugfix:</strong> addressed an issue where an error was thrown if you attempted to create a user with an insecure password but the user was still created. With this fix, if the password does not meet the minimum requirements for any org level <code>SecurityProfile.PasswordConfigs</code> or the OrderCloud minimum password requirements, the user will not be created. If the user is created successfully and you add the user to a group with stricter password requirements after the initial create, the user will be unable to authenticate with the password.</p></li><li><p><strong>Bugfix:</strong> fixed an issue where a 500 error was being thrown on certain authentication attempts with an invalid password.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.202</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.202</guid><pubDate>Wed, 21 Apr 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.199]]></title><description><![CDATA[<p>This release contains a change to enforce the OrderCloud minimum password standards immediately for newly created organizations only. No changes for existing customers/organizations. As outlined in <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/custom-password-configuration"><strong>this article</strong></a>, OrderCloud-wide enforcement will still begin June 1, 2021.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.199</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.199</guid><pubDate>Tue, 09 Mar 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.197]]></title><description><![CDATA[<ul><li><p>Added read-only <code>LastUpdated</code> field to <code>Order</code>. Useful as a filter in scheduled sync jobs to pull only orders that have changed since the last successful run.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.197</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.197</guid><pubDate>Wed, 03 Mar 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.196]]></title><description><![CDATA[<ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/custom-password-configuration"><strong>Custom password configurations</strong></a> provide greater control over password requirements for users of your applications.</p></li><li><p>Changed JWT signing algorithm to RS256. Developers can now download and cache the public key to validate the JWT signature to prove the token was generated by OrderCloud.</p></li><li><p>ApiClient level Role management enhancement. User roles included in the JWT can optionally be managed as an intersection of ApiClient and SecurityProfile instead of populating the scope parameter of the token request.</p></li><li><p>In accordance with Open Source Foundation for Application Security (OWASP) there are now less explicit error messages returned for failed user logins.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.196</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.196</guid><pubDate>Thu, 25 Feb 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.190]]></title><description><![CDATA[<ul><li><p>Introduced Supplier-owned Price Schedules. Supplier can only edit Price Schedules that they create.</p></li><li><p>Enforce unique IDs across entire marketplace for things a Supplier might own (Products, Catalogs, Price Schedules, and Specs).</p></li><li><p>Allow <code>Payment.Amount</code> to be updated to 0. This better enables recording Payments that were reversed (such as with a credit or void transaction) and you wish to maintain that history rather than deleting the Payment. (<code>Payment.Amount</code> must still be greater than 0 on <em>create</em>.)</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.190</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.190</guid><pubDate>Thu, 07 Jan 2021 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.185]]></title><description><![CDATA[<ul><li><p>Bug fix: calling <code>GET /orders/{direction}/{orderID}/worksheet</code> with an invalid orderID now returns a 404 instead of a 500</p></li><li><p>Limiting access to these resources to seller users only:</p><ul><li><p>Message senders</p></li><li><p>Api clients</p></li><li><p>Incrementors (any user can still use an incrementorID when creating an object)</p></li><li><p>Integration events</p></li><li><p>Webhooks</p></li><li><p>Xp indices</p></li><li><p>OpenIDConnect</p></li><li><p>ImpersonationConfigs</p></li><li><p>SecurityProfiles</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.185</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.185</guid><pubDate>Thu, 03 Dec 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.177]]></title><description><![CDATA[<ul><li><p>Added two routes to allow buyer users with the Shopper role access to read variants <code>GET me/products/{productID}/variants/{variantID}</code> and <code>GET me/products/{productID}/variants</code></p></li><li><p>Bug fix to provide a helpful error message when attempting to delete an order that has already been forwarded.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.177</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.177</guid><pubDate>Fri, 06 Nov 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.171]]></title><description><![CDATA[<ul><li><p>Added the ability to use one-time addresses on shipments via <code>PUT v1/shipments/{shipmentID}/shipto</code> and <code>PUT v1/shipments/{shipmentID}/shipfrom</code></p></li><li><p>Added <code>Environment</code> variable to the Message Sender outbound message object</p></li><li><p>Bug fix to prevent duplicate promotions being returned from <code>GET v1/orders/{direction}/{orderID}/promotions</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.171</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.171</guid><pubDate>Wed, 23 Sep 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.169]]></title><description><![CDATA[<p>Update how background jobs are queued and processed, as well as the removal of <code>Request.Headers</code> and <code>Response.Headers</code> from webhook payloads.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.169</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.169</guid><pubDate>Tue, 15 Sep 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.167]]></title><description><![CDATA[<p><strong>2 minutes of expected downtime occurred between 9:05pm - 9:07pm CST</strong></p><p>There were no changes to the OrderCloud API, this was mainly in support of <a target="_blank" rel="noopener noreferrer nofollow" href="/portal-release-notes/v1.0.35">Portal 1.0.35</a></p>]]></description><link>https://ordercloud.io/release-notes/v1.0.167</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.167</guid><pubDate>Tue, 08 Sep 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.168]]></title><description><![CDATA[<p>This release fixes an issue related to special-character encoding during authentication that affected a relatively small number of users but prevented them from authenticating successfully.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.168</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.168</guid><pubDate>Tue, 08 Sep 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.166]]></title><description><![CDATA[<h4><strong><br></strong>Bug Fixes</h4><ul><li><p>Prevent message senders from sending to inactive users</p></li></ul><h4>Changes</h4><ul><li><p>Tweaks to checkout integration event (currently used in-house only)</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.166</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.166</guid><pubDate>Tue, 01 Sep 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.165]]></title><description><![CDATA[<ul><li><p>New <code>items.count(...)</code> function in the rules engine. Returns number of line items on the order matching your specified condition.</p></li><li><p>Support for <code>min(...)</code> and <code>max(...)</code> functions in the rules engine.</p></li><li><p>New property <code>OpenIdConnect.CallSyncUserIntegrationEvent</code>. When set to true, the platform will call another integration event step during the Open Id Connect log in process to allow a middle-ware to sync information from the Identity Provider&apos;s user token.</p></li><li><p>Bug fix: Readonly <code>DateCreated</code> property on Buyer is no longer updated when changes are made to the Buyer.</p></li><li><p>Bug fix: Prohibit adding variant product to a line item when the variant is inactive.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.165</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.165</guid><pubDate>Mon, 27 Jul 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.164]]></title><description><![CDATA[<ul><li><p><code>Seller</code> object with <code>ID</code> property added to response payload of <code>GET v1/me</code>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.164</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.164</guid><pubDate>Mon, 13 Jul 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.158]]></title><description><![CDATA[<ul><li><p><strong>New feature:</strong> Line item level Promotions. <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/line-item-promos">Details</a></p></li><li><p><strong>Rules engine enhancement:</strong> allow multiple IDs (comma-separated, OR&apos;d together) in incategory function.</p></li><li><p><strong>Rules engine enhancement:</strong> keywords, identifiers, and functions are no longer case-sensitive.</p></li><li><p><strong>Approval rule bugfix:</strong> ensure multiple &quot;parallel&quot; rules must all be satisfied.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.158</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.158</guid><pubDate>Mon, 18 May 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.157]]></title><description><![CDATA[<p>This release enforces some limitations on route access based on user type. Currently accessing these routes as the wrong user type can lead to unexpected/unintended results. Some of these limitations already exist today; however, all of them are listed below to provide a full overview. Please reach out in our Slack Community with any questions!</p><ul><li><p>Buyer and Supplier users will be able to <strong>read</strong> Seller owned resources (users, addresses, groups) with the proper role(s).</p></li><li><p>Buyer and Supplier users will <strong>NOT</strong> be able to <strong>admin</strong> Seller owned resources regardless of role(s).</p></li><li><p>Buyer and Supplier users will <strong>NOT</strong> be able to delete or create any Buyer or Supplier orgs regardless of role(s).</p></li><li><p>Buyer users will be able to <strong>read</strong> Supplier orgs, users, addresses, or groups with the proper role(s).</p></li><li><p>Buyer users will <strong>NOT</strong> be able to <strong>admin</strong> Supplier orgs, users, addresses, or groups regardless of role(s).</p></li><li><p>Buyer users will <strong>NOT</strong> be able to <strong>read</strong> or <strong>admin</strong> other Buyer orgs, users, addresses, or groups regardless of role(s).</p></li><li><p>Buyer users will be able to <strong>read</strong> and <strong>admin</strong> their OWN Buyer (deletion will be prohibited as outlined above) with the proper role(s).</p></li><li><p>Supplier users will be able to <strong>read</strong> Buyer orgs, users, addresses or groups with the proper role(s).</p></li><li><p>Supplier users will <strong>NOT</strong> be able to <strong>admin</strong> Buyer orgs, users, addresses, or groups regardless of role(s).</p></li><li><p>Supplier users will <strong>NOT</strong> be able to <strong>read</strong> or <strong>admin</strong> other Supplier orgs, users, addresses, or groups regardless of role(s).</p></li><li><p>Supplier users will be able to <strong>read</strong> and <strong>admin</strong> their OWN Supplier (deletion will be prohibited as outlined above) with the proper role(s).</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.157</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.157</guid><pubDate>Tue, 12 May 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.156]]></title><description><![CDATA[<ul><li><p>New <code>DateCreated</code> property on Buyer and Supplier models.</p></li><li><p>Creating xp indexes on Product will no longer be allowed, and will fail with a 400 error.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.156</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.156</guid><pubDate>Mon, 04 May 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.152]]></title><description><![CDATA[<p>New endpoints and model properties related to forthcoming Integration Events feature:</p><ul><li><p><code>/v1/integrationevents/*</code></p></li><li><p><code>/v1/orders/{direction}/{orderID}/estimateshipping</code></p></li><li><p><code>/v1/orders/{direction}/{orderID}/shipmethods</code></p></li><li><p><code>/v1/orders/{direction}/{orderID}/worksheet</code></p></li><li><p><code>/v1/orders/{direction}/{orderID}/calculate</code></p></li><li><p><code>ApiClient.IntegrationEventID</code></p></li><li><p><code>OpenIDConnect.IntegrationEventID</code></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.152</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.152</guid><pubDate>Thu, 02 Apr 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.151]]></title><description><![CDATA[<ul><li><p>New <code>searchType</code> parameter for <code>v1/me/products</code> and premium-search-enabled <code>v1/products</code>. See this <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/new-for-premium-search">blog post</a> for details.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.151</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.151</guid><pubDate>Mon, 30 Mar 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.150]]></title><description><![CDATA[<ul><li><p><strong>New endpoint:</strong> GET <code>v1/orders/{direction}/{orderID}/shipments</code>. Use to list shipments for a given order. Prefer over GET <code>v1/shipments?orderID={orderID}</code>, especially from a Seller perspective, due to explicit support for incoming and outgoing orders.</p></li><li><p>Added <code>PriceMarkupType</code> and <code>PriceMarkup</code> properties (both nullable) to objects returned in <code>LineItem.Specs</code> collection.</p></li><li><p>Added read-only Specs collection to <code>Variant</code> model, mirroring the shape of <code>LineItem.Specs</code>.</p></li><li><p>Bug fix: Order Approval succeeded when there were insufficient Spending Account funds.</p></li><li><p>Various non-breaking enhancements to the <a target="_blank" rel="noopener noreferrer nofollow" href="https://api.ordercloud.io/v1/openapi/v3">OpenAPI 3 spec</a>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.150</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.150</guid><pubDate>Thu, 19 Mar 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.144]]></title><description><![CDATA[<ul><li><p>Bug fix: Impersonation failed with 500 when Roles were not provided.</p></li><li><p>Bug fix: Inventory validation was incorrectly occurring in a few specific scenarios involving editing a submitted order.</p></li><li><p>Bug fix: Suppliers were unable to list Product-Spec assignments for products they own.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.144</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.144</guid><pubDate>Mon, 24 Feb 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.140]]></title><description><![CDATA[<p>This release adds the same Elasticsearch-driven <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/introducing-premium-search">Premium Search features</a> to <code>GET v1/products</code> that are currently only available in <code>GET v1/me/products</code>. Initially, this will only affect a small group of beta customers, but we will be rolling it out to everyone in the coming days/weeks. <strong>Please review this </strong><a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/introducing-premium-search">blog post</a><strong> carefully, especially regarding the changes in <em>search behavior</em>, as it will now be relevant to &quot;admin&quot; product lists.</strong> Contact Four51 if you have any questions or concerns.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.140</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.140</guid><pubDate>Wed, 12 Feb 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.134]]></title><description><![CDATA[<ul><li><p>Bug fix: PATCHing any string property where only the casing of the string changes will stick.</p></li><li><p>Bug fix: Suppliers can add their own ship-from Address to a Product without receiving an error.</p></li><li><p>Bug fix: Line items on a submitted order can be PATCHed without error after the corresponding Product has been deleted.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.134</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.134</guid><pubDate>Fri, 17 Jan 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.133]]></title><description><![CDATA[<ul><li><p>Suppliers can create/edit/manage Specs under <code>v1/specs/*</code> endpoints. Sellers cannot see Supplier-created specs, except in relation to Products that they have been assigned to.</p></li><li><p>New endpoint: GET <code>v1/products/{productID}/specs</code>. Previously available only under me/products, it is now possible to list specs associated with a product from an &quot;admin&quot; perspective.</p></li><li><p>Spec model returned from any endpoint now contains an <code>Options</code> collection. (Also previously available only under me endpoints.)</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.133</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.133</guid><pubDate>Mon, 13 Jan 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.131]]></title><description><![CDATA[<ul><li><p>New Orders endpoint: <code>POST v1/orders/direction/{orderID}/complete</code> - Changes an order&apos;s Status from <code>Open</code> to <code>Complete</code>, without the need to create Shipments. Note that this action is irreversible, i.e. Status cannot be reverted to <code>Open</code> by removing Shipments, for example.</p></li><li><p>New Orders endpoint: <code>POST v1/orders/direction/{orderID}/validate</code> - Performs validation on the current state of an unsubmitted order. For example, verifies that Inventory is sufficient (if enforced) and any applied Promotions are still valid. Returns HTTP status 204 (No Content) if the order is valid, otherwise 400 with an array of error objects (much like what would be returned if attempting to submit an invalid order).</p></li><li><p>OpenAPI 3.0 spec exposed at <code>v1/openapi/v3</code>. 2.0 spec also exposed at <code>v1/openapi/v2</code>, which is identical to <code>v1/swagger</code>. <strong>The latter endpoint should be considered deprecated and will likely be removed in a future release.</strong></p></li><li><p>New property on <code>OpenIdConnect</code> model: <code>UrlEncoded</code>. Set to <code>true</code> to configure for identity providers that only support passing credentials via <code>application/x-www-form-urlencoded</code> formatted body content.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.131</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.131</guid><pubDate>Tue, 07 Jan 2020 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.130]]></title><description><![CDATA[<ul><li><p>New Orders endpoint: <strong>POST</strong> @ <code>v1/orders/incoming/{orderID}/split</code> - Creates outgoing Order(s) to Supplier(s), one per unique <code>DefaultSupplierID</code> on the products ordered.</p></li><li><p>New Orders endpoint: <strong>POST</strong> @ <code>v1/orders/incoming/{orderID}/forward</code> - Same as <code>/split</code>, but also submits the outgoing Orders created.</p></li><li><p>New Product property: <code>AutoForward</code> - If <code>true</code>, indicates to automatically trigger <code>/forward</code> when a Buyer submits an Order containing this Product.</p></li><li><p>New Order property: <code>ToCompanyID</code>, primarily useful to Sellers with outgoing Orders to multiple Suppliers.</p></li></ul><p><code>/split</code> and <code>/forward</code> both return a response that looks like this:</p><pre><code class="language-json">{
    &quot;OutgoingOrders&quot;: [ ... ],
    &quot;RemainingLineItemIDs&quot;: [ ... ]
}</code></pre>]]></description><link>https://ordercloud.io/release-notes/v1.0.130</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.130</guid><pubDate>Tue, 26 Nov 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.128]]></title><description><![CDATA[<p>This is the first of a series of feature releases expanding the capabilities of Suppliers in OrderCloud. It is part of a larger vision of enabling Marketplaces, where independent Suppliers (who typically own product catalogs) can interact with independent Sellers (who typically own relationships with Buyers).</p><p>Specifically, this release introduces <strong>Supplier-Owned Products and Catalogs</strong>.</p><ul><li><p>New property on both <code>Product</code> and <code>Catalog</code>: <code>OwnerID</code>. This is the ID of the organization (Seller or Supplier) that created the Product or Catalog. Read-only. Potentially useful to Sellers as a list filter. NOT visible to Buyers via <code>/me</code> endpoints.</p></li><li><p>Sellers can see all Supplier-owned Products and Catalogs in their network, but cannot edit them.</p></li><li><p>Sellers can assign Supplier-owned Catalogs to their Buyers in their entirety.</p></li><li><p>Sellers can cherry-pick Supplier-owned Products to add to their own (Seller-owned) Catalogs.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.128</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.128</guid><pubDate>Tue, 12 Nov 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.126]]></title><description><![CDATA[<ul><li><p>Bugfix: Regression allowed Buyers with only Shopper role to see inactive Products in some scenarios.</p></li><li><p>Bugfix: Buyer-created shipping address can be used on manually created shipment.</p></li><li><p>Misc. performance enhancements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.126</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.126</guid><pubDate>Mon, 04 Nov 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.123]]></title><description><![CDATA[<ul><li><p>Improved performance of buyer-side product cache refreshes triggered by product changes.</p></li><li><p>Custom roles can now be added to an impersonation token request.</p></li><li><p>Bugfix: Paged lists of Category-Product assignments could be sorted unpredictably if ListOrder is missing or non-unique.</p></li><li><p>Misc. performance enhancements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.123</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.123</guid><pubDate>Tue, 22 Oct 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.120]]></title><description><![CDATA[<ul><li><p>Elasticsearch enabled for all new sellers.</p></li><li><p>Significant improvements to early detection and self-correction of certain types of performance issues.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.120</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.120</guid><pubDate>Thu, 03 Oct 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.117]]></title><description><![CDATA[<ul><li><p><code>Address.CompanyName</code> is now searchable</p></li><li><p>Bugfix: Newly enabled inventory on a product would sometimes cause order submit to fail.</p></li><li><p><code>MinQuantity</code> &amp; <code>MaxQuantity</code> now returned in error data when line item quantity is invalid.</p></li><li><p>Minor bug fixes and performance enhancements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.117</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.117</guid><pubDate>Fri, 27 Sep 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.109]]></title><description><![CDATA[<ul><li><p>New feature: <code>SecurityProfile.PasswordConfig.ExpireInDays</code> for enforcing password expiration.</p></li><li><p>New feature: <code>Promotion.AllowAllBuyers</code> for allowing all of a Seller&apos;s Buyer to see/use a Promotion without explicit assignments.</p></li><li><p>Bugfix: When a Buyer is deleted, immediately creating a new User in a different Buyer with a Username from the deleted Buyer will not cause a conflict error.</p></li><li><p>Minor bug fixes and performance enhancements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.109</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.109</guid><pubDate>Thu, 11 Jul 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.107]]></title><description><![CDATA[<ul><li><p>New API resources for creating/managing Security Profiles (functionality previously only available via Dev Center UI).</p></li><li><p>New API resources for creating/managing custom Roles.</p></li><li><p>Bugfix: With Premium Search, creating a new Buyer with <code>DefaultCatalogID</code> set to an existing catalog did not trigger a search index rebuild. Therefore, Users under the new Buyer could not see products until some other triggering action occurred.</p></li><li><p>Bugfix: For Suppliers, <code>DateCreated</code> was updated whenever the Supplier was updated. Should only get set once on create.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.107</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.107</guid><pubDate>Thu, 20 Jun 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.105]]></title><description><![CDATA[<ul><li><p>New API resources for creating/managing Webhooks (functionality previously only available via Dev Center UI).</p></li><li><p>New API resources for creating/managing xp indexes (functionality previously only available via Dev Center UI).</p></li><li><p>New read-only field on User model: <code>DateCreated</code> (UTC)</p></li><li><p>Bugfix: When 2 variants of 2 different products have exactly the same combination of spec values, and buyer selects variant by specs, sometimes the variant of the incorrect product was added to order.</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/intro-to-premium-search/">Premium Search</a> enabled by default for all <em>newly created Buyers</em> of Sellers who are Premium Search-enabled.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.105</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.105</guid><pubDate>Thu, 06 Jun 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.100]]></title><description><![CDATA[<ul><li><p>Better internal logging for ops and client support teams.</p></li><li><p>Improved reliability of Webhook delivery.</p></li></ul><p>Note that this is a redo of release 1.0.99, which included the items above but was rolled back due to performance issues. The cause of those issues has been identified and corrected.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.100</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.100</guid><pubDate>Mon, 29 Apr 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.99]]></title><description><![CDATA[<ul><li><p>Better internal logging for ops and client support teams.</p></li><li><p>Improved reliability of Webhook delivery.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.99</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.99</guid><pubDate>Wed, 17 Apr 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.98]]></title><description><![CDATA[<ul><li><p>New API endpoints for enabling and configuring OpenID Connect-based authentication.</p></li><li><p>New API endpoints for creating and configuring Message Senders.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.98</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.98</guid><pubDate>Tue, 16 Apr 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.96]]></title><description><![CDATA[<ul><li><p>Add instrumentation for performance monitoring and logging tools.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.96</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.96</guid><pubDate>Wed, 20 Mar 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.95]]></title><description><![CDATA[<ul><li><p>BUGFIX: An error was thrown in the rules engine when multiple <code>items.any/all/total</code> functions are <code>and</code>&apos;d or <code>or</code>&apos;d together, preventing promos/approval rules with those expressions from being created.</p></li><li><p>General performance enhancements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.95</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.95</guid><pubDate>Tue, 12 Mar 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.94]]></title><description><![CDATA[<ul><li><p>BUGFIX: With Premium Search, if price is updated, change was not reflected immediately in <code>me/products</code>.</p></li><li><p>BUGFIX: With Premium Search, if product inventory (and nothing else) is updated, change was not reflected immediately in <code>me/products</code>.</p></li><li><p>When product inventory is enabled but <code>QuantityAvailable</code> is unset, it is returned as 0 rather than <code>null</code>.</p></li><li><p>General performance enhancements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.94</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.94</guid><pubDate>Thu, 07 Mar 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.93]]></title><description><![CDATA[<h2>Bugs</h2><ul><li><p>We had a couple of issues where, if an admin user updated something on the Seller side, the change was not immediately reflected when a buyer user used the buyer (<code>me</code>) endpoints. This has now been resolved.</p><ul><li><p>Price Schedules was affected, but prices should be reflected in buyer endpoints much more quickly.</p></li><li><p>Product Inventory Quantity was also affected, but should be fixed.</p></li></ul></li><li><p>The maximum results that List calls can return on one page is 100. (<code>PageSize=100</code>) However, we realized we had a couple endpoints that were allowing 1000 results per page. We have closed this loophole, particularly for GET <code>v1/products/assignments</code>.</p></li></ul><h2>Features</h2><ul><li><p>We did some back end refactoring of Search 2.0 to improve performance and reliability, particularly around the use of complicated logic filters for values.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.93</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.93</guid><pubDate>Mon, 11 Feb 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.92]]></title><description><![CDATA[<p>Release consisted of a bug fix for Search 2.0 customers. We discovered that filter values using Search 2.0 were inadvertently case-sensitive. This has now been changed.</p><p><code>me/products?Description|Name=*vol*</code> will now return products with VOL, Vol, or any other case permutation in the Product Description or Product Name.</p><p>As this is a Search 2.0 related item, you will only see a different if your application is using Search 2.0. Search 2.0 is only enabled on the <code>me/products</code> endpoint as well.</p><p>Filter <em>names</em> continue to be case-sensitive, as they are properties of the product. Using <code>me/products?description|name=*vol*</code> will return nothing, as those are not properties.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.92</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.92</guid><pubDate>Fri, 01 Feb 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.91]]></title><description><![CDATA[<h2><strong>Summary</strong></h2><ul><li><p>Added Multi-Field <code>OR</code> filters to <code>me/products</code> endpoint for Search 2.0 enabled orgs.</p></li></ul><h2>Updates</h2><h3>Multi-Field <code>OR</code> Filters On <code>Me/Products</code> &amp; Search 2.0 Orgs</h3><p>Previously, with filters there was no way to specify multiple fields and get results back when <em>any</em> match. This is now supported with syntax like:</p><p><code>me/products?ID|Name|Description=*foo*</code></p><p>This will return any product with <code>foo</code> in the ID, Name, or Description. This functionality is currently limited to the <code>me/products</code> endpoint in orgs with Search 2.0 enabled. We&apos;re hoping that this will facilitate ease of transfer to the new search platform.</p><blockquote><p>Note that field names are case sensitive!</p></blockquote>]]></description><link>https://ordercloud.io/release-notes/v1.0.91</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.91</guid><pubDate>Sat, 19 Jan 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.90]]></title><description><![CDATA[<h2><strong>Summary</strong></h2><p>Several bug fixes and performance improvements, for apps using both the basic search, and Search 2.0.</p><h2>Bug Fixes &amp; Performance Improvements</h2><ul><li><p>Previously, the <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/buyers/users/create">Create/Patch/Update User</a> webhooks were passing the user&apos;s password, if present, in the clear. This has now been redacted, as is our policy across the board.</p></li><li><p>We have make some changes to our product cache loading in order to improve performance for product listing and related endpoints. This affects non-Search 2.0 enabled buyers only.</p></li><li><p>For Search 2.0 enabled buyers, we did some performance improvements around <code>GET me/products</code>, specifically around improving performance on searches that use XP extensively.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.90</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.90</guid><pubDate>Mon, 14 Jan 2019 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.89]]></title><description><![CDATA[<h2>Summary</h2><p>Several bug fixes and performance improvements.</p><h2>Updates</h2><h3>Variants &amp; Variant Inventory</h3><p>We&apos;ve expanded Variant functionality! Variants are used to create versions of the same product that have different specs. For example, one product might have three different sizes available, small, medium, or large. Rather than have three different products, variants allows you to have one product with different arrangements of specs. Specs can also be open text entry, or include a markup. We&apos;ve expanded variants to allow for variant-level inventory tracking.</p><p>You can now:</p><ul><li><p>see variant information for products on a line item or shipment sub-object</p></li><li><p>track inventory at a variant level</p></li><li><p>write custom variant ids</p></li><li><p>write shipping size/weight information at a variant level</p></li></ul><h2>Bug Fixes &amp; Performance Improvements</h2><ul><li><p>We&apos;ve reduced latency around product catalog changes.</p></li><li><p>We&apos;ve fixed an issue where you could have a supplier and a non-supplier user of the same username. All user names should be unique within an organization.</p></li><li><p>Setting a product&apos;s DefaultSupplierID without an assignment between that product and the supplier is somewhat nonsensical. Now, creating or updating a product&apos;s DefaultSupplierID creates an assignment if missing.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.89</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.89</guid><pubDate>Thu, 20 Dec 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.88]]></title><description><![CDATA[<h2>Summary</h2><p>Several bug fixes and performance improvements.</p><h2>Updates</h2><h3>Search 2.0 Beta</h3><p>We&apos;ve gotten some more feedback from our beta group about what they want in this new Search, and we&apos;ve changed some of our search weighting accordingly.</p><ul><li><p>We have severely reduced fuzziness in an effort to return fewer, more relevant results. Fuzziness is aimed at improving natural language type search queries, and in a B2B context, frequently customers know exactly what they want, rather than a more general query.</p></li><li><p>In queries where a user is searching on multiple fields, we were seeing partial matches from fields earlier in the list rising above exact matches from fields later in the list. We&apos;ve changed up the weighting on these to favor more exact matches.</p></li></ul><h2>Bug Fixes &amp; Performance Improvements</h2><ul><li><p>We&apos;ve reduced latency around product catalog changes.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.88</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.88</guid><pubDate>Tue, 18 Dec 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.87]]></title><description><![CDATA[<h2>Summary</h2><p>Several bug fixes and performance improvements.</p><h2>Updates</h2><h3><code>ForgottenPassword</code> Message Sender For Supplier Users</h3><p>What Is It? You can now specify a Supplier in the <code>ForgottenPassword</code> message sender assignments. This allows Supplier Users to reset their passwords using the <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/authentication-and-authorization/security-profiles/save-assignment">Forgot Password</a> endpoint. Remember, you also have to make sure that the API Client you want to use allows Supplier Commerce Access!</p><p>How Does This Affect Me? This only affects you if you&apos;re using the Suppliers feature, and want Supplier Users to be allowed to reset their passwords.</p><h2>Bug Fixes &amp; Performance Improvements</h2><ul><li><p>We know some of our users have experienced issues <strong>Filtering by Date on XP</strong> recently. For example, the filter <code>xp.RequestedDeliveryDate&gt;2018-01-19</code> on a Shipment list call would return an empty list, rather than the expected shipments. This turned out to be related to a <a target="_blank" rel="noopener noreferrer nofollow" href="http://Json.NET">Json.NET</a><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/JamesNK/Newtonsoft.Json/issues/862"> quirk around date vs. string formatting</a>. We&apos;ve fixed this going forward, but <em>existing XP indices</em> will not automatically work. If you have an index that is affected by this issue, you will need to <em>drop and recreate</em> the affected XP index. The XP itself saved on whatever product, shipment, etc is fine. Only the XP index will need to be recreated. Remember, you can index XP in the <a target="_blank" rel="noopener noreferrer nofollow" href="https://portal.ordercloud.io/">Dashboard</a>, under &quot;Extended Properties&quot; on a Seller Organization detail.</p></li><li><p>OrderCloud was experiencing some slowness recently around product-related calls in complex catalogs. We made some improvements around this process.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.87</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.87</guid><pubDate>Sun, 25 Nov 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.86]]></title><description><![CDATA[<h2>Summary</h2><p>Release consisted of minor bug fixes and performance tweaks.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.86</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.86</guid><pubDate>Wed, 07 Nov 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.85]]></title><description><![CDATA[<p>{{image}}U0pyR5usUUafCWKlqgBc3Q{{image}}</p><h2>Summary</h2><p>This release consists of both a new API version, v1.0.85, and an update to our DevCenter site. We are reorganizing our conception of what an &apos;application&apos; is around API Client IDs. This release contains the beginning of that process, supplier-related improvements, and other performance improvements, bug fixes.</p><h2>Updates</h2><h3>API Client Unification</h3><p><em>What Is It?</em></p><p>We&apos;ve replaced the idea of <em>Buyer Networks</em>, <em>Buyer Apps</em>, <em>Seller Networks</em>, and <em>Seller Apps</em> with, instead, just the <strong>API Client ID</strong>. Instead of talking about multiple apps with API client IDs attached to a Buyer, we now have multiple API Client IDs with a Buyer Commerce Role.</p><p><em>Why Is It Important?</em></p><p>When you create a Seller API Organization in OrderCloud, you are creating a little world where data like products, users, and other concerns can be shared and configured in various ways. Within this little world, there might be many applications, such as the app where your CSR users log in to manage bulk orders, the app where the general public can buy your most excellent product, or an app where your users can buy things from your company, and you can then buy those products from other supplier companies.</p><p>The base unit of this world is the API Client ID. This ID identifies what context a user is authenticating into. For example, Allison may be one of your CSRs, but she also manages your product catalogs in a catalog management application. When she logs in, the different API Client IDs used in her authentication set the context that she is working in, and what data she has access to.</p><p><em>How Does This Affect Me?</em></p><p>This change should not impact your existing API organizations and API Client IDs/apps. All existing applications have been migrated to the new API Client ID + Commerce Role Access schema. The Commerce Roles are made up of the three distinct user types that exist in OrderCloud-- a Buyer User, a Seller User, and a Supplier User.</p><p>However, when you log into the <a target="_blank" rel="noopener noreferrer nofollow" href="https://portal.ordercloud.io/">OrderCloud Portal</a>, you will immediately notice the difference.</p><p>When you go into DevCenter and view one of your Seller Organization, you&apos;ll now see API Clients in the side menu rather than seller applications/buyer organizations/buyer networks.</p><p>Under API Clients, you&apos;ll see all of those applications listed by API Client ID. Each will have the assigned commerce role accesses displayed as well.</p><p>What will likely be the most common is having one Commerce Role assigned to an API Client ID. This would be the typical situation of having one application for your admin users to manage orders, catalogs, etc, and one for your buyer users to log in and make orders, etc.</p><p>However, perhaps you want to have one web page, one application where both your buyer users and your admin users can go. One API Client can have multiple <em>commerce access roles</em> to accomplish this.</p><p>When your admin user authenticates, the front-end application will show the admin different options than your buyer users will see. This puts the onus of separating functionality visibility on the UI, likely checking <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/security-profiles">user security roles</a> to show or hide functionality.</p><p>Notably, you can assign <em>all</em> <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/buyers">buyers</a> in a Company Organization to an API Client ID, or only specific ones.</p><p>Finally, you can assign a Default context user to an API Client ID. This defines a user that acts as a template for <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/authentication#ordercloud-workflows">client credential</a> access to the site. The template user sets what security profiles and things like addresses, products, etc that an unauthenticated user will have access to. This allows things like <a target="_blank" rel="noopener noreferrer nofollow" href="/platform-guides/authentication/anonymous-shopping">anonymous shopping</a>, or a back-end integration to update your product catalog.</p><p><strong>Please note</strong>, assigning a default context user to an API Client that has multiple buyers, seller, or supplier accesses assigned to it allows access to <strong>all</strong> assigned seller, buyer, or suppliers. Thus, you <em>can</em> create an API Client ID with a seller, buyer, and supplier access and a default context user, but you <em>really probably shouldn&apos;t</em>, unless you really really want that Default Context User to be able to have access, however limited, to all your buyer, supplier and seller information.</p><h3>Supplier ID on Me Buyer-Endpoint</h3><p><em>What Is It?</em></p><p>When a user performs <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/me-and-my-stuff/me/get">a buyer-endpoint ME GET</a> call, the Supplier that the user has access to will be returned in the response body.</p><p><em>Why Is It Important?</em></p><p>If you use Suppliers within your applications, being able to identify which supplier a user has access to without giving extra permissions to a user is helpful.</p><p><em>How Does This Affect Me?</em></p><p>This will be present on all <code>/me</code> response bodies but will be null unless the user has access to a supplier.</p><h3>Search 2.0: Faceted Navigation Allowed to Return up to 50 Facets</h3><p><em>What Is It?</em></p><p>Pretty much what it says on the tin, the facets returned on a [me/Products]&apos;s response body can number up to 50. If you have more than 50 facets that apply to a user, the first 50 will be returned, based on <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/product-catalogs/product-facets/get">listing</a> order.</p><p><em>Why Is It Important?</em></p><p>This was requested by several of our Search Beta users, as it allows them to give their users a more detailed faceted navigation filtering experience.</p><p><em>How Does This Affect Me?</em></p><p>This will only affect you if you are using our <a target="_blank" rel="noopener noreferrer nofollow" href="/release-notes/v1.0.81">Search 2.0</a> beta, and you have a number of facets &gt; 50.</p><h2>Bug Fixes</h2><ul><li><p>Minor bug fixes.</p></li></ul><h2>Performance Improvements</h2><ul><li><p>We included some more aggressive clean up of product caches for searching.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.85</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.85</guid><pubDate>Wed, 31 Oct 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.84]]></title><description><![CDATA[<h2>Summary</h2><p>This release consists of performance enhancements and some minor model additions.</p><h2>Updates</h2><h3>SupplierID added to LineItems</h3><p><em>What Is It?</em></p><p>We added a <em>read-only</em> property to LineItems that shows the SupplierID if the LineItem inherits one.</p><p><em>How Does This Affect Me?</em></p><p>If your Product Catalog pre-defines Suppliers that a product comes from, you&apos;ll be able to see this information on Order LineItems. This may be useful to visually group or otherwise distinguish line-items by their shipping location.</p><h3>Add AllowResubmit to Order Approval</h3><p><em>What Is It?</em></p><p>We&apos;ve added the ability to allow users to resubmit an order for approval.</p><p><em>Why Is It Important?</em></p><p>If you use Order Approvals, you can run into situations where if the user just changed <em>one little thing</em>, it&apos;d be an approved order. Maybe the buyer wanted 100 jars of bees by Tuesday, but you won&apos;t be able to fulfill the order that quickly. If the user gave you a little more time, they could get all 100 jars, or they could settle for the 60 jars you have in stock right now. With <code>AllowResubmit</code>, you can allow users to resubmit an order after making the necessary changes, rather than make them build up a whole new order and check out again.</p><p><em>How Does This Affect Me?</em></p><p>If you use Order Approval workflows, this could be very handy! As long as the order hasn&apos;t been submitted, you can go back and forth as long as you want with a user on an order.</p><h2>Bug Fixes</h2><ul><li><p>You should see some better performance and reliability around Product Cache rebuilds. Product Cache rebuilds happen the first time a product listing endpoint is hit after Product Catalog changes have occurred, and previously, sometimes concurrent rebuilds could cause a log-jam.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.84</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.84</guid><pubDate>Thu, 04 Oct 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.83]]></title><description><![CDATA[<h2>Summary</h2><p>This release consisted of bug fixes for outstanding issues and some performance enhancements.</p><h2>Bug Fixes</h2><ul><li><p>Anonymous Session Conflicts leading to 404 Order Not Found. This ended up being a tricky timing session bug to pin down, but is now fixed.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.83</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.83</guid><pubDate>Wed, 26 Sep 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.82]]></title><description><![CDATA[<h2>Summary</h2><p>This release consisted largely of some enhancements to the Search 2.0 beta, based on internal beta group feedback.</p><h3>Updates</h3><h4>Search 2.0 Beta: Fuzziness</h4><p><em>What Is It?</em></p><p>{{image}}o8B5NqP2y0GyJPbNu3eBmA{{image}}</p><p>Haha, no, we did not add adorable soft kittens to the search results. Instead, we added <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzziness.html">fuzzy matching</a>.</p><p><em>Why Is It Important?</em></p><p>Search 2.0 already looks for natural English-language stemming, but fuzzy search allows for common errors as well. Did your user search for &quot;elctric&quot; when they meant &quot;electric&quot;? Adding fuzzy matches improves the quality of the search results.</p><p><em>How Does This Affect Me?</em></p><p>Search 2.0 enabled applications should see some improved search results, particularly around misspellings and <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.livescience.com/18392-reading-jumbled-words.html">common errors</a>.</p><h4>Search 2.0 Beta: Changes to Facet Lists&apos; Meta Info</h4><p><em>What Is It?</em> We made some changes to the way that Facet Meta information is presented in the resulting JSON object from a <code>me/products</code> call in a Search 2.0 enabled application.</p><p><em>Why Is It Important?</em> These changes were made after some feedback from our internal beta group, who found that <code>Facet.ID</code> was unhelpful, but knowing <code>Facet.XpPath</code> would be helpful when using these results to build Faceted Navigation.</p><p><em>How Does This Affect Me?</em></p><p>You will see the following Meta body if using Facets with Search 2.0 in your application:</p><pre><code class="language-json">{
    &quot;Meta&quot;: {
      &quot;Facets&quot;: [
        {
          &quot;Name&quot;: &quot;colors.spring&quot;,
          &quot;XpPath&quot;: &quot;colors.spring&quot;,
          &quot;Values&quot;: [
            {
              &quot;Value&quot;: &quot;680947636313&quot;,
              &quot;Count&quot;: 20
            },
            {
              &quot;Value&quot;: &quot;107259688976&quot;,
              &quot;Count&quot;: 16
            }
          ],
          &quot;xp&quot;: {}
        },
        {
          &quot;Name&quot;: &quot;job&quot;,
          &quot;XpPath&quot;: &quot;job&quot;,
          &quot;Values&quot;: [
            {
              &quot;Value&quot;: &quot;107259688976&quot;,
              &quot;Count&quot;: 16
            }
          ],
          &quot;xp&quot;: {}
        }
      ]
    }</code></pre><p>Additionally, Facets themselves now carry their own XP information, just in case.</p><h3>Bug Fixes</h3><ul><li><p>Facets were not showing up in the Swagger Spec</p></li><li><p>We now throw a better error if a user attempts to access Search 2.0 endpoints from an application that does not have Search 2.0 enabled.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.82</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.82</guid><pubDate>Tue, 04 Sep 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.81]]></title><description><![CDATA[<h2><strong>Summary</strong></h2><h3>Updates</h3><h4>TLS 1.2 Enforced On All Traffic</h4><p><em>What Is It?</em></p><p>A minimum of TLS 1.2 will be enforced on all <em>inbound</em> traffic to OrderCloud, as well as on all <em>outbound</em> traffic from OrderCloud, such as webhooks.</p><p><em>Why Is It Important?</em></p><p>TLS 1.2 is the latest and most secure standard for the cryptographic protocols that provide widespread communication security over a computer network. PCI compliance requires TLS 1.1 or better encryption, so this is likely something you already support. (1)</p><p><em>How Does This Affect Me?</em></p><p>All modern web browsers use TLS 1.2 which means calls made directly to OrderCloud from your client UIs will not be impacted. In the event that you have any custom middleware, such as Punchout, Back-office integrations, Single Sign-on, etc., please make any relevant changes. Ensure that any integrations you have set up to receive webhook payloads from OC will accept TLS 1.2.</p><h4>Premium Search</h4><p><em>What Is It?</em></p><p>We&apos;ve added a new type of search that can be used on the platform: <strong>Premium Search</strong>. This allows for more powerful, natural language search, as well as support for Faceted Navigation natively on the OrderCloud platform. Currently, Premium Search is only available for the <code>me/products</code> endpoint, although we plan on expanding to cover other areas soon.</p><p><em>Why Is It Important?</em></p><p>We know our customers want the most robust, sophisticated search capabilities available natively on the OrderCloud platform. That&apos;s why we&apos;ve chosen ElasticSearch, an industry standard, to provide a powerful premium search experience. Premium Search will allow us to provide you and your users with improved Buyer-side catalog searching, and give you the ability to create faceted navigation natively, without the need to integrate with a third party tool.</p><p><em>How Do I Use This?</em></p><p>Currently this feature is <strong>in Beta</strong>, and while you may see the related endpoints in the DevCenter Console or API documentation, such as <code>v1/ProductFacets</code>, they will not be active for any organizations outside of our Beta program. We will be inviting some clients to take part in our Beta program in the near future.</p><p>We expect Premium Search to be available to the public this Fall -- contact your account rep to discuss getting Premium Search set up.</p><h2>Changelog</h2><ul><li><p>Premium Search added.</p></li><li><p>Outbound HTTP traffic required to use TLS 1.2.</p></li></ul><hr><p>1: <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.forbes.com/sites/thesba/2018/05/30/changes-to-pci-compliance-are-coming-june-30-is-your-ecommerce-business-ready/">Forbes</a></p>]]></description><link>https://ordercloud.io/release-notes/v1.0.81</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.81</guid><pubDate>Mon, 27 Aug 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.80]]></title><description><![CDATA[<h2><strong>Changelog</strong></h2><ul><li><p>Infrastructure improvements</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.80</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.80</guid><pubDate>Wed, 18 Jul 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.79]]></title><description><![CDATA[<h2><strong>Bug Fixes</strong></h2><ul><li><p>Release contains a bug fix addressing an admin-visibility issue with buyer user private credit card objects.</p></li><li><p>If a buyer user created a credit card that only they can access, and then used that card in a payment on an order, admin users were unable to update the payment at all. Instead, the API would respond with a 404 not found error, because the admin user did not have visibility into that private credit card. This is a particular problem as admin users are generally the ones to update a payment&apos;s <code>accepted</code> bool to true once a card payment clears.</p></li><li><p>This is now fixed. While an admin user cannot get or otherwise retrieve the buyer user&apos;s private card object, the admin user is now able to update the payment that references the private card.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.79</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.79</guid><pubDate>Tue, 26 Jun 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.78]]></title><description><![CDATA[<p>Release adds Supplier Addresses.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.78</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.78</guid><pubDate>Mon, 11 Jun 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.77]]></title><description><![CDATA[<p>Release contains a fix around hash headers in Message Senders. No application using Message Senders should be affected.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.77</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.77</guid><pubDate>Thu, 31 May 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.76]]></title><description><![CDATA[<h2>Features</h2><ul><li><p>Release consisted of a performance improvement around Spec Assignment listing.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.76</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.76</guid><pubDate>Fri, 04 May 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.74]]></title><description><![CDATA[<p>Release contains a bug fix for <code>me/categories</code>. Previously, a call to <code>me/categories</code> with a <code>CatalogID</code> and a <code>ProductID</code> would throw an error. This now works correctly.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.74</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.74</guid><pubDate>Mon, 02 Apr 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.73]]></title><description><![CDATA[<p>Release consisted of minor bug fixes and enhancements.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.73</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.73</guid><pubDate>Wed, 21 Mar 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.72]]></title><description><![CDATA[<h2><strong>New Features</strong></h2><p>Previously, if you filtered a list by an xp, it only cared about items in that list that had that xp. This meant that negative filters, such as <code>xp.Color=!Blue</code>, for example, would only return other items <em>with</em> <code>xp.Color</code> but where <code>xp.Color</code> was not blue. If an item didn&apos;t have <code>xp.Color</code> at all, it would not be returned in the filtered list.</p><p>Now, xp filters don&apos;t just look for the specified xp and filter down from there. Instead, a filter of <code>xp.Color=!Blue</code> will return all items with <code>xp.Color</code> where the color isn&apos;t blue, <em>but also</em> any items without <code>xp.Color</code> at all.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.72</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.72</guid><pubDate>Mon, 19 Mar 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.71]]></title><description><![CDATA[<h2><strong>Bug Fixes</strong></h2><ul><li><p>We fixed an issue where Admin Address XP were not being correctly indexed retroactively.</p></li><li><p>We fixed an issue with filtering a list of Products by the <code>SpecCount</code> field -- the list will now be correctly returned if the <code>SpecCount</code> is 0.</p></li><li><p>We have solved an issue with Spending Accounts where duplicate Redemption Codes could be created on different Spending Accounts in the same Buyer. Now Spending Accounts cannot be made with any Redemption Code that is already in use within the Buyer. (Don&apos;t worry about existing applications you may have; there were no dupes in our databases at time of the fix.)</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.71</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.71</guid><pubDate>Thu, 01 Mar 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.70]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>You can no longer accidentally delete a buyer&apos;s default catalog! If you attempt to delete a catalog that happens to be the default catalog for one or more buyers, you&apos;ll get an error and a list of buyers.</p></li></ul><h2>Bug Fixes</h2><ul><li><p>Fixed some character lengths around DevCenter User&apos;s Account information. Everything should now politely error should you attempt to insert a small poem rather than your company name.</p></li><li><p>We&apos;ve also improved some of the error handling around object creation with bad datetime strings.</p></li><li><p>Minor error handling improvements around attempts at URL unfriendly object IDs.</p></li><li><p>We&apos;ve made some enhancements around our indexing performance.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.70</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.70</guid><pubDate>Tue, 13 Feb 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.69]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Previously, we had some inconsistent logic about when we evaluated <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/orders-and-fulfillment/promotions">Promotions</a> on an order. Sometimes, this would lead to a submitted order suddenly having an invalid promotion, potentially changing the order total. As we want to allow a historical record of promotions at the time of order submit, we have now limited promotion evaluation to only orders whose statuses are <strong>unsubmitted</strong> or <strong>awaiting approval</strong>.</p></li><li><p>We also fixed a bug around <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/rules-engine">the rules engine</a> for <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/buyers/approval-rules">Order Approvals</a>. If a User is in the approving group for an approval rule, any order submitted by that User that meets the approval rule should be auto-approved. Or, stated another way, because the User is an Approving User, their order does not need separate approval.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.69</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.69</guid><pubDate>Mon, 15 Jan 2018 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.68]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed an issue with the <code>Incrementation Config</code> on object <code>PATCH</code></p></li><li><p>Fixed an issue where an <code>Anonymous User</code> would lose access to an order if an <code>Admin User</code> changed that order.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.68</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.68</guid><pubDate>Fri, 15 Dec 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.67]]></title><description><![CDATA[<p>Fixed some performance issues that cropped up in Production after <a target="_blank" rel="noopener noreferrer nofollow" href="/release-notes/v1.0.66">API 1.0.66</a> was released.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.67</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.67</guid><pubDate>Fri, 08 Dec 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.66]]></title><description><![CDATA[<h2>New Features</h2><h3>Customized Platform Object ID Generation</h3><p>A big question we get from clients a lot is &quot;How can I make the OrderCloud API IDs work nicely with the IDs from my ERP or other internal systems?&quot;.</p><p>Prior to API 1.0.66, you could either set the ID manually (which is a pain if you want incrementation to work well) or you could settle for the default platform random GUID, and keep track of your ERP integration ID in an <code>xp</code>, or some other work around.</p><p>We&apos;ve added a new feature that aims to make this process much, much simpler! <code>Incrementation Config</code> allows you to create a customized pattern for ID generation.</p><p><code>Incrementation Config</code></p><pre><code class="language-json">{
  &quot;ID&quot;: &quot;&quot;,
  &quot;Name&quot;: &quot;&quot;,
  &quot;LastNumber&quot;: 0,
  &quot;LeftPaddingCount&quot;: 0
}</code></pre><p>The important parts here are the <code>LastNumber</code> and the <code>LeftPaddingCount</code>.</p><h4>Examples:</h4><p><em>Objective:</em> Every order from a buyer should start with the buyer company&apos;s name, TestCorp, so that it can be differentiated easily by the supplier. The total number of characters for an ID can only be 20 characters long. (ex: <code>TestCorp-00000000001</code>)</p><ol><li><p>Create the Incrementor Config</p></li></ol><p><code>POST /v1/incrementors/</code></p><pre><code class="language-json">{
  &quot;ID&quot;: &quot;config01&quot;,
  &quot;Name&quot;: &quot;Bob&quot;,
  &quot;LastNumber&quot;: 0,
  &quot;LeftPaddingCount&quot;: 10
}</code></pre><ol start="2"><li><p>Create the order using the Incrementor Config</p></li></ol><p><code>POST /v1/orders/outgoing</code></p><pre><code class="language-json">{
    &quot;ID&quot;:&quot;TestCorp-{config01}&quot;
}</code></pre><p>returns as:</p><pre><code class="language-json">{
  &quot;ID&quot;: &quot;TestCorp-00000000001&quot;,
...
}</code></pre><p>If you make another order with this Incrementor Config, you&apos;ll get <code>TestCorp-00000000002</code> and so on.</p><p>This Incrementor Config can be used for both object creation, and <code>PATCH</code>/<code>PUT</code> updates. Additionally, once created, the Incrementor Config&apos;s <code>LastNumber</code> reflects the last number incremented to. So, if the last ID generated by <code>config01</code> was <code>TestCorp-00000000011</code>, the <code>LastNumber</code> for <code>config01</code> would be <code>11</code> at that moment.</p><h4>Caveats:</h4><p>1 - Left-padding does not represent a <em>maximum</em> value for the ID. If you have</p><pre><code class="language-json">{
  &quot;ID&quot;: &quot;config01&quot;,
  &quot;Name&quot;: &quot;Bob&quot;,
  &quot;LastNumber&quot;: 0,
  &quot;LeftPaddingCount&quot;: 1
}</code></pre><p>when you get to 99, the ID will continue incrementing. If you&apos;re using it as in the above example, where your ERP expects ONLY x number of characters, this is going to cause some problems.</p><p>2 - While you <em>can</em> reuse the same incrementator on different endpoints -- such as using <code>config01</code> for both products and orders, for some reason -- the incrementation will be across <em>both</em> endpoints.</p><p><em>EX:</em></p><pre><code class="language-html">Order 1 with `config01` - `Order-00000000001`
Product 1 with `config01` - `Product-00000000002`
Order 1 with `config01` - `Order-00000000003`
Order 1 with `config01` - `Order-00000000004`
Order 1 with `config01` - `Order-00000000005`
Product 1 with `config01` - `Product-00000000006`</code></pre><p>3 - If you&apos;re not careful about how you handle your asynchronous API calls, it&apos;s much easier to accidentally try to create duplicate IDs. So be hygienic with your async calls!</p><p>4 - If you decide to reset the incrementor&apos;s <code>LastNumber</code>, you can end up trying to create duplicate IDs again. Be careful!</p><h3>Allowing a Buyer User to impersonate a Buyer User from a different company</h3><p>Now, instead of a Buyer User only being able to <a target="_blank" rel="noopener noreferrer nofollow" href="/platform-guides/authentication/impersonation">impersonate</a> a Buyer User within the same Buyer, a Buyer User can impersonate a Buyer User in a different Buyer, as long as they&apos;re within the same Seller organization.</p><p>This is useful if you have a customer user that works for multiple of your customers. This allows them to interact within those buyers uniquely, but maintain their user account easily.</p><h2>Bug Fixes</h2><h3>Duplicate Products returned in <code>ME</code> Product Lists</h3><p>We&apos;ve fixed a problem where, sometimes in very large catalogs with complicated category structures, a user using a <code>GET me/products</code> list would return some duplicate products. This fix should also show some minor performance improvements for very large catalog list calls.</p><h3>Post-Submit Order Changes Triggered Promotion Evaluation</h3><p>Previously, if you tried to alter an order with a promotion after it had been submitted, and the promotion had expired, your alteration would throw an error. We&apos;ve fixed this so that promotions are never evaluated after order submit now.</p><h3>Various performance improvements and other small bug fixes.</h3><p>What it says on the tin.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.66</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.66</guid><pubDate>Thu, 07 Dec 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.65]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>The <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/me-and-my-stuff/my-categories/list-categories">Me endpoint for categories</a> is an optional <code>ProductID</code> filter. This allows a user to find all the categories assigned to them that have that product in them, removing the need to give a user the <code>CategoryReader</code> role to accomplish this.</p></li></ul><p><em>Request:</em></p><pre><code class="language-text">GET https://api.ordercloud.io/v1/me/categories?ProductID=SuperAwesomeProduct</code></pre><p><em>Response:</em></p><pre><code class="language-text">Status Code = 200

{
  &quot;Meta&quot;: {
    &quot;Page&quot;: 1,
    &quot;PageSize&quot;: 20,
    &quot;TotalCount&quot;: 25,
    &quot;TotalPages&quot;: 2,
    &quot;ItemRange&quot;: [
      1,
      20
    ]
  },
  &quot;Items&quot;: [
    {
      &quot;ID&quot;: &quot;SuperAwesomeCategory&quot;,
      &quot;Name&quot;: &quot;I Contain the SuperAwesomeProduct&quot;,
      &quot;Description&quot;: &quot;&quot;,
      &quot;ListOrder&quot;: 1,
      &quot;Active&quot;: true,
      &quot;ParentID&quot;: &quot;&quot;,
      &quot;ChildCount&quot;: 0,
      &quot;xp&quot;: {}
    }
  ]
}</code></pre><ul><li><p>We also added a Me route for <code>GET</code>ing a single category! <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/me-and-my-stuff/my-categories/get-category">DOCS</a></p><p><code>GET</code> <code>https://api.ordercloud.io/v1/me/categories/{categoryID}</code></p></li></ul><h2>Bug Fixes</h2><ul><li><p>Previously, if you attempted to submit an order that had a lineitem with a product that had specs <em>and</em> options, it would fail. Fixed now!</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/use-case-guides/product-catalog-management/cpq-configure-price-quote">need a refresher on product specs and spec options?</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/product-catalogs/specs">api reference for product specs</a></p></li></ul></li><li><p>On <code>OrderSubmitted</code> <a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/ordercloud-api/mailchimp-email-templates">Message Sender Mandrill Templates</a>, the order total merge variable was not accurately reflecting order total, leaving out promotion discount. This is now fixed. (The API model was never affected, only the Message Sender merge variable.)</p></li><li><p>We fixed a bad index that was causing massive performance problems for <code>DELETE</code>ing a Security Profile <em>assignment</em>. You should be able to go forth and delete to your hearts content now with no fear of the angry spinner!</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.65</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.65</guid><pubDate>Tue, 21 Nov 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.64]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>We now allow <code>lineitems</code> of <em>unsubmitted</em> <code>Orders</code> to be added to a <code>Shipment</code>. This does not apply to the <code>ship all</code> endpoint.</p></li><li><p>There is a new endpoint that allows a <code>buyer user</code> to be transferred from one buyer to another, within the same organization. Please check out the <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/buyers/users/move">documentation</a> for further details.</p><ul><li><p>please note, this should only be attempted by an <code>admin user</code> in a seller application. If a buyer user, even one with <code>Full Access</code>, tries this, it will not work as expected.</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.64</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.64</guid><pubDate>Mon, 30 Oct 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.63]]></title><description><![CDATA[<h2><strong>Bugs</strong></h2><ul><li><p>Payments: Payment with Type <code>SpendingAccount</code> must have <code>SpendingAccountID</code></p></li><li><p>Unable to use <code>PUT</code> to create new <code>UserGroup</code></p></li><li><p>Orders: <code>order.Total</code> not updated when <code>ShippingCost</code> is updated via <code>PATCH</code></p></li></ul><h2>New Features</h2><ul><li><p>Added transactional email support for guest checkout (<a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/orders-and-fulfillment/orders/patch-from-user">documentation</a>)</p></li></ul><pre><code class="language-text">`PATCH` `v1/orders/{direction}/{orderID}/fromuser`
{&quot;FirstName&quot;: &quot;&quot;, &quot;LastName&quot;: &quot;&quot;, &quot;Email&quot;: &quot;&quot;}</code></pre><ul><li><p>Products: Allow negation of all filters on admin Product List (<code>catalogID</code>, <code>categoryID</code>, <code>supplierID</code>)</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.63</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.63</guid><pubDate>Wed, 18 Oct 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.62]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Upgraded to latest <a target="_blank" rel="noopener noreferrer nofollow" href="https://flurl.dev/">Flurl</a></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.62</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.62</guid><pubDate>Thu, 28 Sep 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.61]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Several tweaks to improve API logging and Documentation generation.</p></li></ul><h2>Bug Fixes</h2><ul><li><p>Previously, if you transferred an anon user&apos;s order to a profiled user, the prices would not update to reflect the profiled user&apos;s price assignments. This is now fixed.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.61</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.61</guid><pubDate>Thu, 07 Sep 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.60]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>We&apos;ve added a description field to Message Senders.</p></li><li><p>We moved the platform Message Sender code to a public repo, so that developers can use it to create custom Message Senders. <a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/ordercloud-api/MessageSender">Message Sender on GitHub</a></p><ul><li><p>Please note, <strong>we have not yet enabled custom message senders in DevCenter</strong>. You can start to develop one but can&apos;t configure one just yet to be used. This will be available in DevCenter in the near future.</p></li></ul></li><li><p>We&apos;ve improved logging around Message Senders.</p></li></ul><h2>Bugs Fixed</h2><ul><li><p>We fixed an issue that was blocking New User Invite emails.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.60</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.60</guid><pubDate>Tue, 18 Jul 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.59]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>We&apos;ve added the Billing Information Name to Customer Profile on our <a target="_blank" rel="noopener noreferrer nofollow" href="http://Authorize.Net">Authorize.Net</a> integration.</p></li></ul><h2>Bugs Fixed</h2><ul><li><p>We have added better error handling for API calls that include .NET reserved keywords in the route (typically in a buyer ID, etc.)</p></li><li><p>You should no longer ever receive a 409 duplicate error on a <code>GET</code> call. Instead this will properly return a 500 error, as this is a bug.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.59</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.59</guid><pubDate>Thu, 13 Jul 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.58]]></title><description><![CDATA[<h2><strong>New Features</strong></h2><ul><li><p>Various performance improvements</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.58</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.58</guid><pubDate>Thu, 29 Jun 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.57]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Previously, if you created or patched a Shipment&apos;s <code>ToAddressId</code>, the response body would show <code>NULL</code>. This is now fixed.</p></li><li><p>If you had a Shipment&apos;s <code>ToAddressId</code> set to <code>NULL</code>, and attempted to trigger a shipment notification through Message Senders, it would not get sent.</p></li></ul><h2>New Features</h2><ul><li><p>When you add a new xp value to be indexed, previous xp with that value will now be retroactively indexed.</p></li><li><p>Performance improvement around logging.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.57</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.57</guid><pubDate>Fri, 23 Jun 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.56]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed an issue where a second approval or decline of an order would return a 409 error</p></li></ul><h2>New Features</h2><ul><li><p>If a default <code>ShipFrom</code> address exists on a product, the <code>shipFromAddress</code> on a line item containing that product is now inherited on line item create, not order submit. This allows shipping to be more easily calculated.</p></li><li><p>You can now filter lists with comparative operands <code>&gt;=</code> and <code>=&lt;</code>, as well as <code>&gt;</code>, <code>&lt;</code>, <code>=</code>, and <code>!</code></p></li><li><p>All approvals are now listed in an order&apos;s approval history, not just the final one.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.56</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.56</guid><pubDate>Fri, 16 Jun 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.55]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>We added two new Mandrill template variables: <code>ShipmentItems</code> and <code>DateShipped</code></p></li></ul><h2>Bug Fixes</h2><ul><li><p>We fixed an issue where some list endpoints would fail intermittently with a 409 error. This included Me Categories, and Me Products, among others.</p></li><li><p>We fixed an issue where the Rules Engine was throwing a 500 if you tried to create a rule with <code>order.xp</code> in either of the expressions.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.55</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.55</guid><pubDate>Tue, 13 Jun 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.54]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Now when you <code>PATCH</code> the LineItem.UnitPrice, the LineItem Total will update as well!</p></li><li><p>We&apos;ve improved our error handling for invalid rules engine expressions, so you find out if it&apos;s an invalid rule when you try to create it, not when you try to submit an order.</p></li><li><p>Fixed a race condition where adding the same product to multiple categories sometimes resulted in a 409 error.</p></li></ul><h2>New Feature</h2><ul><li><p>We improved performance for admin category lists substantially.</p></li><li><p>We now return a <code>Buyer</code> subobject on the me/user model</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.54</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.54</guid><pubDate>Fri, 26 May 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.53]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Buyer Users with the <code>ShipmentAdmin</code> role can now properly create shipments.</p></li><li><p>We now properly throw a 409 error if you try to delete an admin user who is being used as the <code>DefaultUserContextID</code> for an org.</p></li><li><p>Listing me/Shipments performance should be noticeably improved on large lists.</p></li><li><p>Initial emails for Approvals message senders were not being sent.</p></li></ul><h2>New Features</h2><ul><li><p>Developers who use the OIDC flow for authentication will now be able to dynamically route their users to specific parts of their app after authentication. To do so, add <code>appstartpath=&lt;extrapath&gt;</code> to the query on ocrplogin.</p><ul><li><p>Example: <code>https://nodomain.com/myapp{2}?token={0}&amp;idt={1}</code></p></li><li><p>The {2} can go anywhere in the appstart url.</p></li></ul></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.53</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.53</guid><pubDate>Mon, 15 May 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.52]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Improved performance for seller-side <code>/orders</code> lists</p></li></ul><h2>Bug Fixes</h2><ul><li><p>Now, a buyer user with <code>CatalogAdmin</code> should be able to:</p><ul><li><p>Patch any catalog assigned to their buyer</p></li><li><p>Update any catalog assigned to their buyer</p></li><li><p>SaveProductAssignments for any catalog assigned to their buyer</p></li><li><p>ListProductAssignments for any catalog assigned to their buyer</p></li><li><p>DeleteProductAssignments for any catalog assigned to their buyer</p></li></ul></li><li><p>A buyer user with <code>CatalogAdmin</code> should not have the ability to:</p><ul><li><p>Assign catalogs to other buyers</p></li><li><p>List catalog assignments of other buyers</p></li><li><p>Delete catalog assignments (even those for their own buyer)</p></li><li><p>Delete catalogs (even those assigned to their buyer)</p></li></ul></li><li><p>Removed invalid parameters previously documented on list endpoints</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.52</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.52</guid><pubDate>Wed, 10 May 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.51]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Improved performance for <code>me/categories</code> and <code>me/product</code> lists.</p></li><li><p>We&apos;ve added some more debug information to OpenConnectID errors.</p></li></ul><h2>Bug Fixes</h2><ul><li><p>Previously, we required <code>CatalogAdmin</code> and <code>ProductAdmin</code> to list Catalog and Product assignments, respectively. This is now changed to be consistent with other assignment listing role checks so that the user only needs <code>CatalogReader</code> / <code>ProductReader</code>.</p></li><li><p>Now, if you patch a line item unit price with either <code>null</code> or an empty string, the price will be recalculated.</p></li><li><p>No more 500 error when you try to delete a category with children.</p></li><li><p>Generating variant IDs for Spec Option IDs that have blank spaces in their values will no longer result in IDs with spaces. Now all spaces are translated as -.</p></li><li><p>Trying to patch <code>ShipWeight</code>/<code>Height</code>/<code>Width</code>/<code>Length</code> with a string no longer throws an error.</p></li><li><p>Trying to patch a spec option with an invalid ID returns a 404 now.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.51</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.51</guid><pubDate>Sun, 07 May 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.50]]></title><description><![CDATA[<p>A public staging environment will be available starting on Sunday, April 2nd. The 1.0.50 version will be released to Production on May 4th at 8:00 PM Central.</p><p>You can access the staging environment using your production data and the following:</p><p>api: <code>https://stagingapi.ordercloud.io</code></p><p>auth: <code>https://stagingauth.ordercloud.io</code></p><p>devcenter: <a target="_blank" rel="noopener noreferrer nofollow" href="https://portal-staging.ordercloud.io">https://portal-staging.ordercloud.io</a></p><p>Production data will be copied down to the Staging environment weekly, on Sundays. In Staging, all webhooks will have their assignments deleted to disable them initially. Please update your webhooks and integrations in Staging to point somewhere other than Production ASAP. On the production release, no staging data will be transferred to production.</p><p>This was released to Production on May 4th at 8:00 PM Central.</p><h2>New Features</h2><ul><li><p>Payments have a new boolean field, <code>Accepted</code>. <code>PUT</code> has been removed from Payments, and <code>PATCH</code> can never edit <code>Type</code>, <code>CreditCardID</code>, and <code>SpendingAccountID</code>.</p><ul><li><p>Only users with OrderAdmin or FullAccess roles will be able to create or update the <code>Accepted</code> property.</p></li><li><p>If the <code>Accepted</code> property is true AND the order has been submitted, a Shopper cannot patch the payment but a user with OrderAdmin or FullAccess can.</p></li><li><p>If the <code>Accepted</code> property is true AND the payment type is a credit card, a Shopper cannot patch the payment but a user with OrderAdmin or FullAccess can.</p></li><li><p>If the <code>Accepted</code> property is true, the order has not been submitted, and the payment type is not a credit card, either a Shopper or OrderAdmin CAN patch the payment.</p></li><li><p>If <code>Accepted</code> is false, any user with either role can patch all other fields except the 3 listed above.</p></li></ul></li><li><p>As part of the data conversion for existing payments, <code>Accepted</code> will be set to true for the following:</p><ul><li><p>All non-credit card payments (spending accounts, POs)</p></li><li><p>All orders that were ever submitted (open, completed, seller-canceled)</p></li><li><p>All payments containing a successful PaymentTransaction</p></li></ul></li><li><p><code>PUT</code> has been removed from payments. <code>PATCH</code> is allowed, but only to patch the <code>Accepted</code> property, and only if the user has <code>OrderAdmin</code> or <code>FullAccess</code>.</p></li><li><p>Order submit logic will validate Payment.Accepted=true and an error will be thrown if an order with an unaccepted payment is submitted.</p></li><li><p>Previously, any admin user could impersonate any buyer user. Going forward, an admin user must have the <code>BuyerImpersonation</code> role in their security profile to impersonate buyer users and request the role when impersonating a user.</p></li><li><p>Due to refactoring around our password hash algorithm, and since we do not store users&apos; passwords ourselves, but simply a hash of the password, <strong>users will need to reset their passwords before they can log into the OrderCloud DevCenter or any OrderCloud apps</strong>. When you authenticate to the Ordercloud API initially after this release, the only role your user will have is the <code>PasswordReset</code> role, and after you&apos;ve reset your password, you&apos;ll need to re-authenticate to get your full array of roles.</p><ul><li><p>If you provide an application to users, we recommend have the application redirect any user who authenticates and only has the <code>PasswordReset</code> role to be redirected to a different view, where their password can be reset using the new <code>/me/password</code> endpoint.</p></li><li><p>Alternately, any user can trigger an email-based password reset, using the <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/authentication-and-authorization/forgotten-password/reset-password-by-verification-code">Forgotten Password</a> endpoint.</p></li></ul></li><li><p>Due to the aforementioned password changes, DevCenter users will need to reset their DevCenter passwords by going to the &quot;Forgot Password&quot; link in DevCenter. Users will need to do this in the Staging Environment <em>and</em> in Prod after the production release.</p></li><li><p>Added roles that control who can list or edit shipments. Now users with <code>ShipmentAdmin</code> <em>or</em> <code>OrderAdmin</code> can create or edit shipments. Users with <code>ShipmentReader</code> or <code>OrderReader</code> can get/list shipments.</p></li><li><p>Seller-side product lists (<code>v1/products</code>) can now be filtered on <code>CatalogID</code> and <code>CategoryID</code> (<code>CategoryID</code> is unique only within a Catalog, so you must specify both in order to filter on Category.)</p></li><li><p>Buyer-side product lists (<code>v1/me/products</code>) that specify <code>CategoryID</code> can also specify <code>depth</code>, which can be an integer 1 or greater (<code>depth=1</code> means products directly assigned to category) or <code>all</code>. Default is <code>all</code>.</p></li><li><p>An order that requires approval can now be sent back to the submitting user by the approver user for editing and re-submission. See <a target="_blank" rel="noopener noreferrer nofollow" href="https://ordercloud.io/api-reference/orders-and-fulfillment/orders/decline"><strong>Decline Orders</strong></a> for more details.</p></li><li><p>We are changing the route to register an anonymous user (previously called &quot;Create From Temp User&quot;) to <code>PUT</code> <code>v1/me/register</code>. This will help make our Swagger spec more flexible.</p></li><li><p>Any buyer user can now list shipments for their own orders in a User Perspective route, <code>me/shipments</code>. No more need for elevated permissions!</p></li><li><p>In order to encourage best practices, only group-level and buyer-level assignments will be allowed for the following resources:</p><ul><li><p>Products</p></li><li><p>Categories</p></li><li><p>Promotions</p></li><li><p>Cost Centers</p></li><li><p>Message Config</p></li></ul></li></ul><p><strong>If there are existing user-level assignments for any of the above, you must convert them to group- or buyer-level before the production release date</strong>.</p><ul><li><p><code>OrderApproval</code> now contains nested <code>Approver</code> object containing all details of the approving user. Example:</p></li></ul><pre><code class="language-json">{
    &quot;ApprovalRuleID&quot;: &quot;...&quot;,
    &quot;ApprovingGroupID&quot;: &quot;...&quot;,
    &quot;Status&quot;: &quot;Pending&quot;,
    &quot;DateCreated&quot;: &quot;...&quot;,
    &quot;DateCompleted&quot;: &quot;...&quot;,
    &quot;Approver&quot;:
    {
        &quot;ID&quot;: &quot;...&quot;,
        &quot;FirstName&quot;: &quot;...&quot;,
        &quot;LastName&quot;: &quot;...&quot;,
        &quot;UserName&quot;: &quot;...&quot;,
        &quot;Email&quot;: &quot;...&quot;,
        &quot;Active&quot;: &quot;...&quot;,
        &quot;xp&quot; : { ... }
    },
    &quot;Comments&quot;: &quot;...&quot;
}</code></pre><ul><li><p>We have also moved approval comments out of the URL query string and into the request body. There is a maximum length of 2000 characters.</p></li><li><p>We have added new roles around the administration of Admin Addresses: <code>AdminAddressReader</code> and <code>AdminAddressAdmin</code>.</p></li></ul><h3>Inventory Revamp</h3><ul><li><p>Inventory-related data points on <code>Product</code> are being moved into a nested <code>Inventory</code> object.</p></li></ul><h4>Summary of Inventory Object Changes:</h4><p>{{table}}headers=Old,New#rows=Product.InventoryEnabled,Product.Inventory.Enabled&amp;Product.InventoryNotificationPoint,Product.Inventory.NotificationPoint&amp;Product.VarientLevelInventory,Product.Inventory.VariantLevelTracking&amp;Product.AllowOrderExceedInventory,Product.Inventory.OrderCanExceed&amp;Product.InventoryVisible,removed&amp;/products/:id/inventory resource,removed&amp;Inventory.Available,Product.Inventory.QuantityAvailable&amp;Inventory.LastUpdated,Product.Inventory.LastUpdated&amp;Inventory.ID,removed&amp;Inventory.Name,removed&amp;Inventory.Reserved,removed&amp;/products/:id/inventory,removed{{table}}</p><h4>Summary of Inventory Behavioral Changes:</h4><ul><li><p><code>Product.Inventory.QuantityAvailable</code> is writable.</p><ul><li><p><code>PATCH v1/products/:id { &quot;Inventory&quot;: { &quot;QuantityAvailable&quot;: 999 } }</code> is the preferred way to manually set inventory.</p></li></ul></li><li><p><code>QuantityAvailable</code> is deducted on order submit or final order approval (whichever point order status changes to <code>Open</code>).</p></li><li><p><code>QuantityAvailable</code> is adjusted when quantity changes are made to line items on <code>Open</code> orders.</p></li><li><p><code>QuantityAvailable</code> is validated, but not adjusted, when items are added or quantities change on <code>Unsubmitted</code> orders. A 400 error occurs if item quantity exceeds available inventory and <code>Product.Inventory.OrderCanExceed</code> is false.</p></li><li><p><code>QuantityAvailable</code> is always re-validated per the rules above on order submit.</p></li></ul><h3>Shipment Changes</h3><ul><li><p>The nested <code>Shipment.Items</code> collection has been removed, and shipment items are instead retrieved or saved via new endpoints, much like line items.</p></li><li><p>To compensate for the above, there is a new <code>me/shipmentitems</code> endpoint.</p></li><li><p><code>BuyerID</code> has been removed from routes, meaning you can list shipments across multiple buyers.</p></li><li><p>Shipment IDs are now seller-unique.</p></li><li><p>All new fields listed below derive their values from corresponding LineItems, helping to avoid additional lookups when working with shipments.</p></li></ul><p>{{table}}headers=New Shipment Field,Notes#rows=Shipment.Account,writeable&amp;Shipment.FromAddressID,writeable&amp;Shipment.ToAddressID,writeable&amp;Shipment.FromAddress,nested object (read-only)&amp;Shipment.ToAddress,nested object (read-only)&amp;ShipmentItem.UnitPrice,read-only&amp;ShipmentItem.CostCenter,read-only&amp;ShipmentItem.DateNeeded,nested object (read-only)&amp;ShipmentItem.Product,nested object (read-only)&amp;ShipmentItem.Specs,nested collection (read-only)&amp;ShipmentItem.xp,read-only{{table}}</p><p>{{table}}headers=Old Endpoint,New Endpoint#rows=GET v1/:BuyerID/shipments,GET v1/shipments&amp;GET v1/:BuyerID/shipments/:id,GET v1/shipments/:id&amp;N/A,GET v1/shipments/:id/items&amp;N/A,GET v1/shipments/:id/items/:orderID/:lineItemID&amp;N/A,POST v1/shipments/:id/items&amp;N/A,PATCH v1/shipments/:id/items/:orderID/:lineItemID{{table}}</p><h3>Simplified Product and Category Assignments</h3><p>{{table}}headers=New Properties,Notes#rows=Catalog.Active&amp;CatalogAssignment.ViewAllCategories&amp;CatalogAssignment.ViewAllProducts&amp;CategoryAssignment.Visible,Nullable - inherited from parent or catalog&amp;CategoryAssignment.ViewAllProducts,Nullable - inherited from parent or catalog&amp;Product.DefaultPriceScheduleId,Optional but encouraged.{{table}}</p><ul><li><p>For a Buyer User to see a Product in the User Perspective (<code>GET v1/me/products</code>), <em>all</em> of the following must be true:</p><ul><li><p><code>Product.Active</code> is <code>true</code></p></li><li><p>Product belongs to a Catalog where <code>Catalog.Active</code> is <code>true</code></p></li><li><p>Buyer is assigned to this Catalog</p></li></ul></li><li><p>In addition, <em>one</em> of the following must be true:</p><ul><li><p>In Buyer assignment to Catalog, <code>CatalogAssignment.ViewAllProducts</code> is <code>true</code>, <strong>OR</strong></p></li><li><p>Product belongs to active Category in the catalog, Category is assigned to Buyer (or any Group the user is in), and <code>CategoryAssignment.ViewAllProducts</code> is <code>true</code>, <strong>OR</strong></p></li><li><p>Product is assigned directly to Buyer (or any Group the user is in).</p></li></ul></li></ul><p>We recommend checking out the Catalog Visibility Guide</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.50</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.50</guid><pubDate>Thu, 04 May 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.44]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed a bug where, in some particular cases, a user who submitted an order could also approve it.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.44</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.44</guid><pubDate>Mon, 17 Apr 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.43]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>We now round the following to two decimal places:</p><ul><li><p><code>OrderPromotion.Amount</code></p></li><li><p><code>LineItem.LineTotal</code></p></li><li><p><code>Order.Subtotal</code></p></li><li><p><code>Order.ShippingCost</code></p></li><li><p><code>Order.TaxCost</code></p></li><li><p><code>Order.PromotionDiscount</code></p></li><li><p><code>SpendingAccount.Balance</code></p></li><li><p><code>Shipment.Cost</code></p></li><li><p><code>Payment.Amount</code></p></li><li><p><code>PaymentTransaction.Amount</code></p></li></ul></li><li><p>We now return a useful and informative error message if you try to list <code>CatalogAssignments</code> without required parameters.</p></li><li><p>We now return a useful and informative error message if you try to delete a user who has an open order outstanding.</p></li><li><p>We now decrement <code>SpendingAccounts</code> on delete of a payment and not if it&apos;s just routed for approval.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.43</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.43</guid><pubDate>Wed, 05 Apr 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.42]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed a couple issues where markups on product specs were not being correctly reflected in lineitem totals.</p></li><li><p>XP filtering on buyers is now fixed.</p></li><li><p>Delete webhook firing issue is fixed.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.42</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.42</guid><pubDate>Thu, 09 Mar 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.41]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed an issue where the Reset Password Token didn&apos;t expire. Now expires after two hour.</p></li><li><p>Fixed an issue around Promotions with value expressions containing <code>product.incategory</code></p></li><li><p>Fixed an issue where you couldn&apos;t delete orders after they&apos;d been approved.</p></li><li><p>Fixed an issue where you&apos;d get a 500 instead of a useful error if you submit an order without specs if the order contained a specc&apos;d product</p></li><li><p>Fixed an issue where you got a 500 instead of a useful error if you tried to assign a non-existent user to an admin group</p></li><li><p>Improved large value handling in unit prices</p></li><li><p>You now (correctly) need <code>ApprovalRuleAdmin</code> and <code>ApprovalRuleReader</code> to admin/read approval rules and not <code>AddressReader</code>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.41</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.41</guid><pubDate>Fri, 03 Mar 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.40]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed an issue where you couldn&apos;t update a Category&apos;s <code>ParentID</code> to null</p></li><li><p>Fixed a bug around promotions with value expressions evaluating <code>product.incategory</code></p></li><li><p>Removed some <code>ApprovalRule</code> fields related to features that don&apos;t exist yet.</p></li><li><p>Fixed a tricksy bug where in some situations, the <code>Meta</code> of a list would change if the <code>pageSize</code> changed.</p></li><li><p>You now get a much more helpful error if you try to assign a price to a product that doesn&apos;t exist.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.40</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.40</guid><pubDate>Thu, 23 Feb 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.39]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Fixed an issue where occasionally, if you added valid promo on an order, you would not be able to update the order afterwards.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.39</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.39</guid><pubDate>Thu, 09 Feb 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.38]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Several performance improvements around Product and Product Inventory</p></li><li><p>We&apos;ve added a <code>FromCompanyID</code> to the <code>Order</code> object, and you can filter on it, so that orders from different companies can be easily identified.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.38</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.38</guid><pubDate>Sun, 05 Feb 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.37]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>We&apos;ve fixed an issue where, if a product on an lineitem has required specs, but no specs are filled out and there&apos;s no default, the line item create is successful. Instead, now an error is thrown with with the missing specs.</p></li><li><p>You should now be able to successfully set a string as a spec value on a lineitem if the product on the lineitem allows open text.</p></li><li><p>If a buyer user has a private credit card <strong>and</strong> elevated roles (<code>FullAccess</code>, <code>CreditCardReader</code> &amp; <code>OrderAdmin</code>, for example), you&apos;ll be able to create a payment on the private credit card without errors.</p></li><li><p>Admin listing endpoints for assignments (<code>listProductAssignments</code>, etc) will no longer return assignments for deleted buyers.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.37</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.37</guid><pubDate>Tue, 31 Jan 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.36]]></title><description><![CDATA[<h2>New Features</h2><p>We&apos;ve added a new sub-object to the LineItem object. Now, when you list LineItems, you&apos;ll see the products that are on the lineitem too. This currently does not include the full price break information. New Line Item Object Example: </p><pre><code class="language-json">{
   &quot;ID&quot;:&quot;6-Ap0yfJ6k2kDxEJhPA4432vjA&quot;,
   &quot;ProductID&quot;:&quot;Test01&quot;,
   &quot;Quantity&quot;:5,
   &quot;DateAdded&quot;:&quot;2016-05-19T17:51:46.127+00:00&quot;,
   &quot;QuantityShipped&quot;:0,
   &quot;UnitPrice&quot;:null,
   &quot;LineTotal&quot;:0,
   &quot;CostCenter&quot;:null,
   &quot;DateNeeded&quot;:null,
   &quot;ShippingAccount&quot;:null,
   &quot;ShippingAddressID&quot;:&quot;2WRMZMDcakaVaoJ6Hf_r1w&quot;,
   &quot;ShipFromAddressID&quot;:null,
   &quot;Product&quot;:{
      &quot;ID&quot;:&quot;Test01&quot;,
      &quot;Name&quot;:&quot;Test01&quot;,
      &quot;Description&quot;:&quot;Test01 Lorem Ipsum&quot;,
      &quot;QuantityMultiplier&quot;:1,
      &quot;ShipWeight&quot;:1,
      &quot;ShipHeight&quot;:null,
      &quot;ShipWidth&quot;:null,
      &quot;ShipLength&quot;:null,
      &quot;xp&quot;:{
         &quot;test&quot;:false
      }
}</code></pre><h3>Shipping Rates Integration</h3><ul><li><p>We&apos;ve added UPS account configuration options to the Shipping Rates integration.</p></li><li><p>We&apos;ve added the option to adjust (as an admin) rates that are displayed to users by either a percentage or a flat rate, either at a global or carrier level.</p></li><li><p>You can now add a manual shipper as well, to account for another kind of shipper than USPS or UPS.</p></li></ul><h3><a target="_blank" rel="noopener noreferrer nofollow" href="http://Authorize.net">Authorize.net</a></h3><ul><li><p>We&apos;re storing the partial card number for single use card payments in the Payment object&apos;s XP, so it can be used in the refund transaction.</p></li></ul><h2>Bug Fixes</h2><ul><li><p>You can&apos;t see expired Spending Accounts in the User Perspective Spending Account list, and you can&apos;t use one to make a new payment either.</p></li><li><p>You can create a payment that exceeds the Spending Account balance if and only if the Spending Account Assignment for the relevant party has <code>AllowExceed</code> set to <code>true</code>.</p></li><li><p>Speaking of price schedules, you can now set a minimum quantity, even when the quantity is not restricted to particular breaks. So, you can now say someone has to order <em>at least</em> 5 products, but they don&apos;t have to order only 10, 20, or 30, for example.</p></li><li><p>A buyer user without elevated permissions cannot cancel their completed orders. (๑•̀ㅂ•́)و</p></li></ul><h3>Mandrill Integration</h3><ul><li><p>We&apos;ve fixed an issue with the Date Submitted variable for Orders not getting pulled into Mandrill email templates properly.</p></li></ul><h3><a target="_blank" rel="noopener noreferrer nofollow" href="http://Authorize.net">Authorize.net</a></h3><ul><li><p>We&apos;ve fixed the partial UpdateCreditCard to stop overwriting the CardholderName with <code>null</code>.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.36</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.36</guid><pubDate>Tue, 17 Jan 2017 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.35]]></title><description><![CDATA[<h2><strong>New Features</strong></h2><ul><li><p>We&apos;ve expanded how you can use categories in the Rules Engine. You can now use <code>items.total</code> in your value expressions.</p></li><li><p>We&apos;ve added some new Mandrill variables that can be used in your Mandrill integrations:</p><ul><li><p>Line Item Count</p></li><li><p>PO#</p></li><li><p>Ship To</p></li><li><p>Prior Approver</p></li></ul></li><li><p>You can use any Order XP in your Mandrill templates, including subobjects. EX: <code>orderxp_xpKey</code>, nested objects: <code>orderxp_xpKey_xpKey2</code>, and xp arrays indexes are accessed like this: <code>orderxp_xpKey_0</code> (with zero being the index of choice).</p></li><li><p>The Shipping Rate integration will now also calculate shipping rates based off of the Line Item level ship from address, not just the product ship from address. Line Item-level shipping will take priority over product-level.</p></li><li><p>You can now use just a username, not an email, to trigger a forgotten password email!</p></li></ul><h2>Bug Fixes</h2><ul><li><p>We fixed a bug where the Product Delete webhook trigger wasn&apos;t firing correctly.</p></li><li><p>We fixed a display issue in the documentation around sorting priority.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.35</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.35</guid><pubDate>Thu, 15 Dec 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.33]]></title><description><![CDATA[<h2><strong>New Features</strong></h2><ul><li><p>We added a new User Perspective endpoint for returning a user&apos;s spending accounts. <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/me-and-my-stuff/my-spending-accounts">Me/ListSpendingAccounts</a></p></li><li><p>We&apos;ve improved the information in our documentation about searchable/sortable properties and the order of precedence that these are applied in. <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/me-and-my-stuff/my-addresses">An example is the API Documentation around Addresses</a></p></li><li><p>We&apos;ve added some performance enhancements around Products, particularly listing all products for a buyer.</p></li><li><p>We now allow you to delete a product that is being used in an unsubmitted order. In submitted orders, the product information is retained, even after deletion.</p></li><li><p>You can now use categories in the Rules Engine! For example, if you&apos;d like to make a promotion that applies to products in only one category, you can use the following for a value expression: <code>items.any(product.incategory(&apos;xxx&apos;))</code></p></li></ul><h2>Bug Fixes</h2><ul><li><p>When you update a buyer company&apos;s default catalog, it actually updates now!</p></li><li><p>We fixed an issue where, if you were authenticating as a user with claims other than <code>FullAccess</code>, the authentication performance was very poor.</p></li></ul><h2>Client Libraries</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/ordercloud-api/angular-sdk/releases/tag/v1.0.25-prerelease"><strong>Angular SDK</strong></a></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.33</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.33</guid><pubDate>Tue, 06 Dec 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.32]]></title><description><![CDATA[<h2>New Features:</h2><ul><li><p>You can now filter list Order queries on the BillingAddress and ShippingAddress subobjects. This works on both Order and Me.Order lists. EX: <code>/orders?ShippingAddress.Street1=xyz</code></p></li><li><p>We&apos;ve added true order-level shipping addresses. If a shipping address is set at the order level, all line items on the order will inherit that shipping address.</p><ul><li><p><strong>PLEASE NOTE</strong>: Previously, if all your line items had the same shipping address, any new line item would have the same shipping address. This is no longer true. Line items will <em>ONLY</em> inherit a shipping address when it is explicitly set at the order level.</p></li><li><p>There are no longer write-only address IDs on Order or Line Items; all of the following are now read/write:</p><ul><li><p>Order.BillingAddressID</p></li><li><p>Order.ShippingAddressID</p></li><li><p>LineItem.ShippingAddressID</p></li><li><p>LineItem.ShipFromAddressID</p></li></ul></li></ul></li><li><p>We&apos;ve made several performance improvements around product history.</p></li></ul><h2>Bug Fixes:</h2><ul><li><p>You can again list and delete security profile assignments for admin users.</p></li><li><p>Search results will now be accurate when listing categories using a depth parameter.</p></li><li><p>You can no longer assign an invalid spec to a product; you will get an error on assignment.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.32</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.32</guid><pubDate>Mon, 21 Nov 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.31]]></title><description><![CDATA[<h2><strong>New Features:</strong></h2><ul><li><p>The <a target="_blank" rel="noopener noreferrer nofollow" href="http://Authorize.net">Authorize.net</a> integration was updated to return more information in a more uniform response body.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.31</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.31</guid><pubDate>Thu, 10 Nov 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.30.1]]></title><description><![CDATA[<h2>New Features:</h2><ul><li><p>Delivery date added to <strong>Shipments</strong></p></li></ul><h2>Bug Fixes:</h2><ul><li><p>several fixes around <strong>Buyer Networks</strong></p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.30.1</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.30.1</guid><pubDate>Fri, 04 Nov 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.30]]></title><description><![CDATA[<h2><strong>New Features:</strong></h2><ul><li><p><strong>Shared Catalogs</strong>: Now a seller org can have multiple catalogs that can be assigned to one or many buyer orgs. There will be more information about this feature coming soon, but please be aware that it may break some existing routes particularly around categories, as categories are now specific to a catalog instead of a buyer. To update your existing categories routes, you&apos;ll need to add the catalog ID to your API routes, and as a parameter in your SDK calls. Me Category endpoints are not affected, except in that you can optionally filter by catalog.</p></li><li><p>A single client ID for an app can be used by different buyers. This is our first step towards an exciting feature on our roadmap, <strong>Buyer Networks</strong>.</p></li><li><p>You can now reference Product Names in your Mailchimp/Mandrill message templates! Previously, you could use Product Description and Product ID, now you can add Product Name as well.</p></li></ul><h2>Bug Fixes:</h2><ul><li><p>We updated <strong>Spending Accounts</strong> to be decremented when an order is submitted, rather then when a payment is applied to an unsubmitted order. (Clearing an order will refund any payments applied, even if the order is unsubmitted-- deleting the order will not do so automatically.)</p></li></ul><h2>SDK Release Notes:</h2><p>The SDK that will be going out with the API release will be <a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/ordercloud-api/angular-sdk/releases/tag/v1.0.24"><strong>v1.0.24</strong></a>.</p><p>After the API is released, if anyone runs a <code>bower update</code> with <em>lastest</em> in their bower.json for ordercloud-ng-sdk they will be updated to <a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/ordercloud-api/angular-sdk/releases/tag/v1.0.24"><strong>v1.0.24</strong></a></p>]]></description><link>https://ordercloud.io/release-notes/v1.0.30</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.30</guid><pubDate>Fri, 28 Oct 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.29]]></title><description><![CDATA[<h2><strong>New Features</strong></h2><ul><li><p>Integration Proxies and Assignments</p></li><li><p>Webhook assignments</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.29</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.29</guid><pubDate>Wed, 26 Oct 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.28]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Product/Spec Enhancements</p></li></ul><h2>Bug Fixes</h2><ul><li><p>Preserve InteropID in Buyer Delete</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.28</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.28</guid><pubDate>Wed, 05 Oct 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.26]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Line Items: Date Needed cannot be in the past</p></li><li><p>Category: SaveCategoryAssignmentAsync Assigning to usergroup also assigns at company level</p></li><li><p>Category: Client.Me.ListCategoriesAsync not returning expected result</p></li><li><p>&quot;Sequence contains no elements&quot; exceptions in BaseApiController</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.26</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.26</guid><pubDate>Wed, 21 Sep 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.25.1]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Line Items: Attempt to patch product id should throw error</p></li><li><p>Credit Cards: should validate on creating</p></li><li><p>Performance issues - <code>order/{orderid}/submit</code> endpoint - time out error</p></li><li><p>Specs: <code>/productassignments</code> returns 500 if no specID</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.25.1</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.25.1</guid><pubDate>Thu, 08 Sep 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.25]]></title><description><![CDATA[<h2><strong>Bug Fixes</strong></h2><ul><li><p>Promotions - Patching order incorrectly updates PromotionDiscount</p></li><li><p>Resolved Deadlock/Timeout issue on product search with xp filter</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.25</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.25</guid><pubDate>Sat, 03 Sep 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.24.1]]></title><description><![CDATA[<h2><strong>New Features</strong></h2><ul><li><p>Add Dimensions to Product Object</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.24.1</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.24.1</guid><pubDate>Thu, 25 Aug 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.24]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p>Security Profiles can now be assigned at the party level. (Buyer, User Group, User) These Security Profiles will be inherited, so a user&apos;s total roles will actually be the total sum of these inherited profiles. In order to see what roles a user actually has, <code>user.AvailableRoles</code> is an array listing all the roles that user has.</p></li><li><p>Because security profiles can be assigned at the Buyer level, apps can now use self-signup of users more easily.</p></li><li><p>Administration of Admin Users is more granular now with new <code>AdminUserReader</code> and <code>AdminUserAdmin</code> roles for Security Profiles.</p></li><li><p>We added XP to Approval Rules.</p></li><li><p>We added the option to limit usage of a Promotion to once per customer.</p></li><li><p>We added a read-only <code>RedemptionCount</code> to Promotions, so that users will be able to report more easily on how often a Promotions is used.</p></li><li><p>We have added the ability to set a default <code>ShipFrom</code> address on a product, so that it will always show as shipping from that address.</p></li><li><p>Admin Users can now be put into Admin User Groups, much like Buyer Users/Buyer User Groups.</p></li></ul><h2>Bug Fixes</h2><ul><li><p>Previously, you would occasionally get a 409 error when <code>PATCH</code>ing an order. This has now been fixed.</p></li></ul><h2>Breaking Changes</h2><ul><li><p>Integration Proxy responses are now more clear about where an error is coming from.</p></li><li><p>We changed how we store refresh tokens. This adds more security, as well as allowing us to have an unlimited refresh token. All apps will have to reauthorize after we deploy API 24.</p></li><li><p>As the Category List endpoint now supports filtering a list of categories by parentID, we have removed: <code>GET categories/xyz/categories</code> (Categories.ListChildren) <code>GET me/categories/xyz/categories</code> (Me.Categories.ListSubcategories)</p></li><li><p>Providing a <code>parentID</code> parameter explicitly in Category List is now redundant. Users should check that you are using the latest version of your SDK.</p></li><li><p>Username is now required to be unique within a seller network. This opens up better possibilities for multiple buyers within one app, and a better user verification process. <em>If you have not updated your username before the API 24 deploy when contacted, you will not be able to log in.</em></p></li><li><p>We have changed our integration proxy base URL from <code>api.ordercloud.io/v1/nativeintegrationproxy/:service</code> to <code>api.ordercloud.io/v1/integrationproxy/:service</code>. If you use an integration within your app, please verify your url has been updated.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.24</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.24</guid><pubDate>Tue, 09 Aug 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.23]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>A new Promotions feature has been added to the platform. Now you can set up promotions, using the same Rules Engine logic as <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/rules-engine-has-arrived">Approval Rules</a>. This new functionality allows buyers to get a limited time discount, free shipping, etc. These Promotions can now be added to orders. Promotions are assignable to buyer parties. But like products, they are admin owned and can be shared between multiple buyers.</p></li><li><p>An existing user can now start off as a temp user and then log in as an existing user. This gives them the ability to keep their current temp user order.</p></li><li><p>The Order Approvals endpoint has been updated. You can now add comments and sort chronologically.</p></li><li><p>You can now filter on Order.Total</p></li><li><p>The endpoints returned from the Documentation API now properly reflect the Role information for each endpoint.</p></li><li><p>The ability to get a list of pending order approvals has been improved. You can now get a list of unique users in one step, via: <code>/orders/xyz/eligibleapprovers</code></p></li><li><p>A number of bug fixes also went out with this release.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.23</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.23</guid><pubDate>Sat, 23 Jul 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.22]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>You can now list the pending approvals, for an order, by passing in the Order ID. This will primarily be used for email integrations. Notifications can now be sent to the approving group of users for each step, as the order gets passed along.</p></li><li><p>The ability to set a ship-from address on a line item has been added, this will be useful for calculating shipping rates</p></li><li><p>Endpoints have been created for seller addresses</p></li><li><p>XP is now available for Approval Rules</p></li><li><p>A Description field is now available for viewing, approving, and declining orders.</p></li><li><p>XP is now available for Variants</p></li><li><p>a number of bug fixes were also deployed with this release.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.22</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.22</guid><pubDate>Fri, 08 Jul 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.21]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>Endpoint arguments that exist in the model, which the endpoint returns, and that have listArgs, have been removed. Example: - <code>v1/buyers/{buyerID}/categories/assignments</code> This endpoint accepts buyerID, categoryID, userID, userGroupID, level, and listArgs. buyerID is required because it is part of the route. level should also be included because it is not part of the CategoryAssignment model. However, categoryID, userID, and userGroupID are all part of the CategoryAssignment model and can therefore be added to the Filters field within listArgs (since in both cases they will be included as query string parameters).</p></li><li><p>The State and Zipcode validation has been updated. For Addresses with US country code, it is now required to have a State and Zipcode. For non-US addresses, it is not required.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.21</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.21</guid><pubDate>Wed, 22 Jun 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.20]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>XP has been added to Cost Center endpoints.</p></li><li><p>List routes for /me order will now mirror admin order routes with respect to requiring incoming/outgoing. Further, the rules of visibility have changed with the four order list routes in the interest of simplicity: - <strong>orders/outgoing</strong> orders from my company (submitted only unless UnsubmittedOrderReader role) - <strong>orders/incoming</strong> orders to my company (submitted only unless UnsubmittedOrderReader role) - <strong>me/orders/outgoing</strong> orders created, approved, or declined by me - <strong>me/orders/incoming</strong> orders awaiting my approval</p></li><li><p>For Approval Rules, approved(ruleid) has been changed to order.approved(ruleid)</p></li><li><p>Previously, admin address routes allowed you to see all addresses assigned to the buyer company AND your own private addresses. In order to simplify the visibility rules for admin routes (like with orders), private addresses are now only visible through /me routes.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.20</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.20</guid><pubDate>Fri, 10 Jun 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.19]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>Route params have been added to webhooks. An object has been added that contains the values from the routeparams.</p></li><li><p>A small number of bug fixes also went out with this release.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.19</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.19</guid><pubDate>Tue, 31 May 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.18]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>The API now has elevated security integration. 3rd party systems now have the ability to perform elevated security operations. This means that we can grant them specific access that is not accessible by the (buyer) client.</p></li><li><p>The Rules Engine has been updated to replace the <code>item</code> object with <code>items</code> aggregate function. The <code>item</code> object has been replaced with <code>items</code> that contains aggregate functions allowing you do this: <code>items.any(CostCenter = &apos;XYZ&apos;)</code> instead of this: <code>item.CostCenter = &apos;XYZ&apos;</code> This supports four such aggregate functions:</p><ul><li><p><code>items.any(subexpression)</code> - returns true/false indicating whether any items match subexpression</p></li><li><p><code>items.all(subexpression)</code> - returns true/false indicating whether any items match subexpression</p></li><li><p><code>items.quantity(subexpression)</code> - returns total quantity of items matching subexpression</p></li><li><p><code>items.total(subexpression)</code> - returns price total of all items matching subexpression</p></li></ul></li><li><p>Upon sending a webhook, an access token is now appended to the outbound web hook call. If a web hook receiver needs to perform actions on behalf of that user with elevated claims, they can now use this token to do so. A nullable field has been added to webhooks called ElevatedClaimsList containing a comma separated list of Claims.</p></li><li><p>Several improvements have been made to the Dev Center to allow management of the webhooks from with the Dev Center UI.</p></li><li><p>Several bug fixes were also deployed with this release.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.18</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.18</guid><pubDate>Wed, 25 May 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.17]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>Approval rules have been updated significantly in this release. This release includes the new ApprovalRule data model (with full admin-side CRUD endpoints), support for a wide variety of expressions, and support for the actual buyer-side flow, including (legacy) email messaging. <em>There will be an approval rules blog post in the near future that will cover this more in-depth.</em></p></li><li><p>The API route for Order listing has changed. When listing orders as a Seller user, you must now specify incoming or outgoing in the route, rather than in the query string. For example:<br><code>v1/orders/incoming</code> This does NOT apply to <code>me/orders</code> - outgoing is always assumed there. It only applies to admin routes, such as incoming orders for sellers and outgoing orders for approving buyer users. Apps will need to be updated accordingly, and make sure you&apos;re using the latest version of the SDK</p></li><li><p><code>IsReportingGroup</code> and <code>IsApprovingGroup</code> have been removed from the UserGroup object.</p></li><li><p>This release also contains several bug fixes.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.17</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.17</guid><pubDate>Fri, 20 May 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.16]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>Buyer users can now can get a list of the products assigned to themselves. This used to require multiple API calls.This is now a single call.</p></li><li><p>There is now the ability to list security profiles in the API itself and not just in DevCenter (as before).</p></li><li><p>When logged in as a buyer user you can now list their assigned security profiles</p></li><li><p>There is now the ability to create personal addresses (billing and shipping) outside the organization.</p></li><li><p>There is now the ability to create a personal list of saved credit cards outside the organization. Users can now add, update, and delete personal credit cards.</p></li><li><p>Shipment XP - XP can now be used on Shipments</p></li><li><p>Address XP - XP can now be used on Addresses.</p></li><li><p>API Client XP - XP can now be used on a client organization.</p></li><li><p>There are now more advanced search and filtering capabilities available on Addresses, Credit Cards, Specs, and Buyer Categories. This new search capability allows for more advanced filtering and fuzzy searches on lists. <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/product-catalogs/categories/list">Take a look at the new, searchable attributes here.</a></p></li><li><p>The API has been updated to allow for Anonymous Shopping within the OrderCloud platform. This update allows for much more flexibility in the buyer user workflow. In the past, buyer users had to be registered in order to purchase products. Now, they can go through the entire shopping workflow without signing in.</p></li><li><p>Spec Options can now be designated as the Default Spec Option for a Spec.</p></li><li><p>There is now the ability to create registration off of a temp user. A user can start with a temp user session and when they choose to profile themselves, a new user based on the template is created.</p></li><li><p>Temp users can create an order but nothing else on Me. It is now impossible for a temp user to create Me data outside of an order.</p></li><li><p>A <code>SpecCount</code> can now be shown to designate how many options are set up for a particular Spec.</p></li><li><p>The Docs section of Devcenter has been reorganized to better reflect how people are actually using the API.</p></li><li><p>We fixed a bug so that users can now filter on XP in the /me endpoint lists.</p></li><li><p>Multiple bug fixes were also included in this release.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.16</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.16</guid><pubDate>Wed, 04 May 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.15]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>We&apos;ve fixed a bug where, if you <a target="_blank" rel="noopener noreferrer nofollow" href="/knowledge-base/extended-properties">searched a list</a> on XP, you sometimes got duplicate results.</p></li><li><p>We&apos;ve fixed a bug where, if you are an Admin User, you couldn&apos;t update the line items on an order for a Buyer User. This is an uncommon scenario, as generally an Admin user would impersonate a Buyer User to make an order on behalf of the Buyer user, but some integrations use an Admin User directly.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.15</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.15</guid><pubDate>Fri, 15 Apr 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.14.1]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Duplicate error when creating categories in different buyers</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.14.1</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.14.1</guid><pubDate>Mon, 11 Apr 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.14]]></title><description><![CDATA[<h2>Changelog</h2><ul><li><p>We&apos;ve added some new functionality around how we store credit card and other payment transactions. If your app uses our credit card processing, you&apos;ll probably want to check out the <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/orders-and-fulfillment/payments">documentation</a> on Payments, and make sure everything is working the way you expect.</p></li><li><p>You can now use partial updates ( <code>PATCH</code> calls) to update fields on any model to NULL instead of having to overwrite with some other value!</p></li><li><p>We&apos;ve changed how you can check if all the line items on an Order are being shipped to the same place. While you could previously set all the line items on an order to the same address by writing to <code>Order.ShippingAddressID</code> , the value was write-only. Now <code>Order.ShippingAddressID</code> will return a non-null value if and only if all the line items on that order have the same shipping address. Check out the <a target="_blank" rel="noopener noreferrer nofollow" href="/api-reference/orders-and-fulfillment/orders/patch">documentation</a> for more on this.</p></li><li><p>To go along with the above, if Order.ShippingAddressID is non-null (that is, all the line items are being shipped to the same place), newly added line items will inherit that shipping address.</p></li><li><p>Some performance improvements were made around working with line-items. If your app has a lot of <code>PATCH</code>ing of line items, you&apos;ll hopefully notice those improvements.</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.14</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.14</guid><pubDate>Tue, 05 Apr 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.13]]></title><description><![CDATA[<h2>Bug Fixes</h2><ul><li><p>Payments: Unable to create, states order is already fully paid</p></li><li><p>Products: Generating variants throws 500 error</p></li><li><p>CostCenterID cannot be set on an ApprovalRule</p></li><li><p>Specs: After variants are generated for a product, the <code>definesVariant</code> is set to false</p></li></ul>]]></description><link>https://ordercloud.io/release-notes/v1.0.13</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.13</guid><pubDate>Wed, 16 Mar 2016 05:00:00 GMT</pubDate></item><item><title><![CDATA[v1.0.12]]></title><description><![CDATA[<h2>New Features</h2><ul><li><p><strong>Payment Types</strong> allow using multiple payment types on a single order</p></li><li><p><strong>Generate Variants</strong></p></li></ul><h2>Breaking Changes</h2><ul><li><p>DefinesVariant has been moved from the Spec model to the Product-Spec Assignment model</p></li></ul><h4>Generating Variants</h4><p>There are 4 things needed to create a product with variants Spec(s) Spec options a spec product relationship that sets Defines variant = true an explicit call to <code>POST {productID}/variants/generate</code></p><p>it&apos;s pretty simple once they&apos;re initially set up. Take the ubiquitous shirt example Specs <em>size small, large</em> <em>color red, black</em></p><p>spec - product = size/shirt/definesvariant = true spec - product = color/shirt/definesvariant = true</p><p>a call to POST <code>{productID}/variants/generate</code> will generate 4 variants</p><ul><li><p>small red</p></li><li><p>small black</p></li><li><p>large red</p></li><li><p>large black</p></li></ul><p>Adding specs is pretty simple add color:blue and a call to <code>POST {productID}/variants/generate</code> will ADD the missing variants 1 small blue 2 large blue The tricky bit starts when a spec is removed. if color is deleted, all the variants are not relevant because color is built into all of them. Delete color and add logo to our shirt. So that this is the config of shirt: size: small,large logo: logoA,logoB</p><p>and a call to <code>POST {productID}/variants/generate</code> will only ADD new variants and you&apos;ll have 8. Even with the spec deleted, the dependant variant can still exist, it&apos;s just not tied to the deleted spec. This is important if that variant is already on an order.</p><ul><li><p>small logoA</p></li><li><p>small logoB</p></li><li><p>large logoA</p></li><li><p>large logoB</p></li><li><p>small red</p></li><li><p>small black</p></li><li><p>large red</p></li><li><p>large black</p></li></ul><p>if your intention is to start over and reset the variants, there is the spec nuclear option:</p><p><code>POST {productID}/variants/generate?overwriteExisting=true</code></p><p>This will DELETE ALL variants and regenerate them based on the current spec configurations. If a variant is on a lineitem, it will be removed. The previous example deletes color and adds logo. calling overwriteExisting=true will result in</p><ul><li><p>small logoA</p></li><li><p>small logoB</p></li><li><p>large logoA</p></li><li><p>large logoB</p></li></ul><p>The key to overwriteExisting=true is that it will always delete all variants and regenerate regardless of the change to the spec configuration.</p>]]></description><link>https://ordercloud.io/release-notes/v1.0.12</link><guid isPermaLink="true">https://ordercloud.io/release-notes/v1.0.12</guid><pubDate>Thu, 03 Mar 2016 05:00:00 GMT</pubDate></item></channel></rss>