Crownpeak
  • Product Discovery Developer Guide
  • 🛒Item catalog management
    • What is the Items API?
    • How to work with Items
      • Item Schema
        • Attributes
        • Nested Item Schemas
        • Using the Item Schema API
        • DefaultLocale API
        • Onboarding on/migrating to Fredhopper
        • List of Reserved Attributes
      • Category Tree
        • Using the Category Tree API
        • Onboarding on XO
      • Item Catalog
        • Using the Catalog API
      • Items
        • Using the streaming Items API
        • Using the batch Items API
    • Step by Step guide
      • Step by step guide for Fredhopper customers
    • Feedback
      • Using the Feedback API
    • Authorization to APIs
    • Troubleshooting API errors
  • 🎯XO Recommendations
    • Introduction
    • Using the Recommendations API
    • Setting up the Chrome extension
    • Micro-segmentation
    • XO Legacy APIs
  • 🔎XO Search
    • Introduction
    • Getting started
    • API Reference
      • Search API
      • Autocomplete API (Beta)
      • Product Suggest API
    • API Parameters
      • Search
      • Pagination
      • Faceting
      • Sorting
      • Grouping
      • Filtering
      • Disable features
      • Response mask
      • Context
    • Configuration limitation
  • 🧪A/B testing
    • Fredhopper A/B testing
      • Integration steps for a non-caching solution
      • Integration steps for a caching solution
        • Java SDK Integration
          • Setup
          • Retrieve running A/B tests - Java SDK
          • Filter and request variant - Java SDK
          • Extending the SDK
        • Manual A/B tests integration
          • Retrieve running A/B tests
          • Filter out irrelevant A/B tests
          • Assign variants to user
          • Request variant for page
        • Limitations and Best Practices
  • 📚Resources
    • Glossary
    • Best Practices
      • Tracker Best Practices
      • Items API Best Practices
      • Fredhopper Data Configuration Best Practices
      • Fredhopper Query Response Best Practices
      • Fredhopper Merchandising Studio Best Practices
    • Privacy Notice
  • Archived Pages
    • FHR Tracking plan
    • XO Tracking plan
    • The Tracking API and JS Library
      • What to Track
        • Generic Actions
          • View
          • Click
          • Add to Cart
          • Remove from Cart
          • Purchase
        • Custom Actions
      • Initializing the JavaScript Library
      • REST API Technical Documentation
Powered by GitBook
On this page
  • Messages
  • Mini-batches and rate limiting
  • Recommended message size
  • Connection settings and latency
  • Dealing with item rejections
  1. Resources
  2. Best Practices

Items API Best Practices

Messages

Mini-batches and rate limiting

The items API has a rate limiter of 250 messages per second per tenant and per environment. To maximise the throughput of items, for example when sending a new catalogue, it is recommended to group multiple items in a single message.

Recommended message size

It is recommended to keep the size of a message under 1MB. The average size of an item allows to calculate the maximum number of items to send in each message.

Connection settings and latency

To maximise the number of messages to send, it is recommended to:

  • Use http Keep-Alive through the header Connection:Keep-Alive

  • Send messages in an asyncronous way.

  • The items API is hosted in EU (GCP Belgium), please make sure that the sender is as close as possible to reduce the latency.

  • Ensure your code can detect errors and resend the message.

Dealing with item rejections

The items api can actively reject items under certain conditions, for example if the required attributes haven't been provided for an item, if the attributes provided have the incorrect basetype or if a product hasn't been assigned to a valid category.

It is therefore advised to log error messages returned by the items api and have a strategy to define under what conditions a new catalogue should or should not be activated.

PreviousTracker Best PracticesNextFredhopper Data Configuration Best Practices

Last updated 7 months ago

📚