Constructor.io Releases logo
Back to Homepage

Releases

Constructor.io Releases

Subscribe to Updates

Labels

  • All Posts
  • Fix
  • Announcement
  • Improvement
  • new
  • This Week in Engineering

Jump to Month

  • September 2025
  • August 2025
  • July 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • March 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • December 2020
  • November 2020
Powered️ byAnnounceKit

Create yours, for free!

4 days ago

🚀 New Feature: Metadata Overrides

We’re excited to announce a new capability that makes it much easier to manage time-sensitive changes in your catalog: Metadata Overrides.

Until now, if you wanted an attribute like price to change at a specific time (for example, to match the start of a sale at exactly 9pm ET), you had to carefully time your ingestion and indexing. That was always a hassle, especially when marketing campaigns needed precise alignment with communications.

With Metadata Overrides, you can plan ahead. You simply ingest future values in advance (e.g. price_october_campaign) and then configure them to automatically override the main field (price) at the exact date and time you choose. During that window, Constructor will serve the override value in all relevant APIs (Search, Browse, Autosuggest), and once the window ends, it will automatically fall back to the original field.




💡 How it helps

  • No more late-night ingestions: Set it once, and the switch happens at the exact time you want.
  • Perfect campaign alignment: Prices, badges, and other metadata can flip in sync with marketing messages.
  • Reliable rules: Filtering, sorting and searchandizing rules will respect the override values, so everything behaves as if the new value was the original.




🧩 How to use it

  1. Ingest your future fields in advance

    • Add additional fields in your feed that hold future values (e.g. price_october_campaign, promo_price_q4, black_friday_visibility).
    • These should mirror the structure of your main fields and be in the same metadata section.

{

  "id": "coffee_machine",

  "facets": {

    "price": 10,

    "price_october_campaign": 5

  }

}

  1. Configure override rules

    • Use the Metadata Override APIs to tell Constructor when to swap fields.
    • Example: from Oct 1st 9pm UTC until Oct 7th 11:59pm UTC, use price_october_campaign instead of price.

{

  "field_name": "price",

  "field_path_in_metadata": "facets.price",

  "rules": [

    {

      "start_time": "2025-10-01T21:00:00Z",

      "end_time": "2025-10-07T23:59:59Z",

      "replaced_field_name": "price_october_campaign",

      "replaced_field_path_in_metadata": "facets.price_october_campaign"

    }

  ]

}

  1. Constructor takes care of the rest

    • During the configured window, all API responses will return the override value.
    • Once the window expires, the original value is automatically restored.




🔗 API Reference

  • Summary page Metadata Overrides
  • GET Metadata Overrides 
  • POST Metadata Override 
  • PATCH Metadata Override 
  • DELETE Metadata Override 




ℹ️ Limitations / Information to note

  • Supports Search, Browse and Autosuggest for now, Recommendation support is coming soon.
  • Up to 5 override rules per catalog key.
  • Only one active override per field per time window.
  • Overrideable fields need to be ingested and configured at least a week before the campaign start date.
  • If an override field is missing for an item, the system will return the original field value.
  • Start & end time values must be formatted as an ISO date & time string, with a timezone UTC offset at the end (yyyy-MM-dd hh:mm:ss.SSS±hh:mm). An entry with a missing timezone specification is assumed to be UTC.




✅ What to do next

  • Start including override fields (e.g. price_october_campaign, promo_price_q4, etc.) in your feeds now.
  • Configure rules via the new Metadata Overrides APIs.
  • Once configured, you can test results using the `now` parameter. It allows you to override the desired time with a specific timestamp.

    • For example, to search for "cookies" and see the results as if the query was being executed on May first at one minute past midnight:

      • https://ac.cnstrc.com/search/cookies?key=[API key]&now=1651388460
      • The now parameter requires a Unix epoch timestamp
      • This query requires an API token in addition to an API key
      • Setting a now parameter can only be set to future times
  • Rules will come into effect automatically at the exact times you need.




👉 This feature removes the headache of timing ingestions and gives you reliable control over campaign/sales related changes.

Avatar of authorVardan Aslanyan