Fixed

Orders, products, customers and webhooks now match the live API

We corrected the reference for the orders, fulfillments, products, customers and webhooks endpoints to match how the API actually behaves:

  • Field names: products and variants return is_valid_url_format (not is_valid_url). Fulfillments return id, order_id and store_id.
  • Retrieve Orders: order_date_min and order_date_max need a full date and time, such as 2024-01-01T00:00:00Z. A date on its own returns a 400 error.
  • Create or Update Customer: send the customer as a customer object, identified by external_id, email or both. A customer sent with only phone_number is rejected.
  • Update Order Fulfillment: send the fields inside a fulfillment object. The fulfillment's external_id can't be changed.
  • Webhooks:
    • Create target, filter and subscription return 201, and delete returns 200.
    • Target and filter IDs are integers.
    • A subscription needs target_id, filter_id and active.
    • Target URLs must use https://.
  • Webhook deliveries: use the WebhookMessageIdPerTarget header to ignore duplicates. Review events don't have a topic field, so read the event name from the X-Yotpo-Webhooks-Event-Type header.
  • Response fields for these endpoints now have descriptions. Retrieve Products also documents the handles filter.

Endpoints affected: Retrieve Orders, Retrieve Order Fulfillments, Update Order Fulfillment, Retrieve Products, Retrieve product variants, Create or Update Customer, Retrieve Customers, all webhook target, filter, store subscription and app subscription endpoints, About Webhooks, Yotpo Events, Guidelines and Conventions.