Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  1. Fotoware Alto
    • 11.14 Schreckhorn
    • Terminology
    • Solutions
    • User Guide - Deutsch
    • User Guide - English
    • API Changelog
  2. Fotoware Veloz
    • Managing users and groups
    • Configuring archives
    • Configuring workflows
    • Configuring site behavior
    • Navigating and searching to find your assets
    • Working with your assets
    • Editing asset metadata
    • Uploading files
    • Version Control in Fotoware
    • Albums - Creating and sharing collections
    • Placing assets in a CMS
    • Working with the Fotoware Pro interface
    • Using the Fotoware plugins
    • Consent management
    • User guide to FotoWeb for iPad (Legacy)
    • Picture conferencing with FotoWeb Screens (Legacy)
    • What's what in Fotoware
    • GDPR
    • Fotoware Veloz releases
    • Activity Exports
    • Fotoware Example Workflows
  3. Fotostation
    • Getting started with Fotostation
    • Viewing, selecting and sorting files
    • Managing your assets with archives
    • Adding metadata to assets
    • Searching for assets
    • Working with your assets
    • Version Control in Fotostation
    • Automating tasks with Actions
    • Configuring metadata fields and editors
    • Configuring Fotostation
    • Configuring Fotostation for multi-user environments
    • Troubleshooting Fotostation
  4. Fotoware Flow
    • What is Flow?
    • Getting started
    • Flow dictionary
  5. Fotoware On-Premises
    • Getting started
    • Index Manager
    • FotoWeb
    • Color Factory
    • Connect
    • Operations Center Guide
  6. Integrations and APIs
    • The Fotoware API
    • Creating integrations using embeddable widgets
    • Authorizing applications using OAuth
    • Auto-tagging
    • FotoWeb Drag and Drop export
    • Integration using webhooks
    • Optimizely and Episerver plugin documentation
    • User Interface Integrations
  7. Fotoware Mobile
    • User guide for Fotoware Mobile for iPhone and Android
    • User guide to FotoWeb for iPad (Legacy)
    • User guide to FotoWeb for iPhone and Android (Legacy)

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Support

Table of Contents

Webhook Requests JSON Webhook Requests Form Data Webhook Requests Webhook Response
  • Home
  • Integrations and APIs
  • The Fotoware API
  • Orders

Order Webhooks

02. April 2025

Elaine Foley

Table of Contents

Webhook Requests JSON Webhook Requests Form Data Webhook Requests Webhook Response

Webhooks make it possible for third-party integrations to be notified and perform additional automated actions triggered by certain events in FotoWeb. The following events related to orders and the shopping cart can trigger webhooks:

  • Changes in the shopping cart
  • Submission of the shopping cart to an order
  • Approval of an order

Webhooks are triggered if they are enabled in the site configuration. If enabled, a webhook is triggered regardless of whether the event was caused by an interactive user action or by an API request. Each webhook may individually be enabled or disabled.

Note: Using webhooks requires an API license.

Webhook Requests

When a webhook is triggered, the FotoWeb server makes a HTTP POST request to an URL that is specified in the site configuration. The body of the request contains information about the order that was submitted or approved or about the user's shopping cart. Depending on the configuration, the request body is sent in JSON format or URL-encoded form data.

It is recommended to use JSON webhooks, as they convey more information.

JSON Webhook Requests

If a webhook is configured to use JSON data, then the webhook request looks as follows:

POST webhook_url
Content-Type: application/json

with the following request body:

1

2

3

4

5

6

{

"data": {...}

"type": "order",

"id": "0237d5cb-ebc7-4647-9a70-7c27bd3f5e9d",

"created": "2016-12-12T14:18:49.915000Z"

}

where

Attribute Type Description
data Object Order representation of the customer's shopping cart or of the order
type String This is always "order".
id String A unique ID of the event that triggered the webhook
created ISO 8601 Date (String) Time (in UTC) at which the event occurred

The data attribute can be used to check the state of the shopping cart or order after the event has occurred. For example, it is a representation of the modified shopping cart or the submitted or approved order.

Form Data Webhook Requests

If a webhook is configured to use form data, then the webhook request looks as follows:

POST webhook_url
Content-Type: application/x-www-form-urlencoded

The request body is a key/value list in standard URL-encoded form data containing the following parameters. Most parameters are identical or similar in name to various JSON representations, and more information can be found in the links in the "See also" column:

Key Description See also
id A unique ID of the event that triggered the webhook  
href URL of the order Order representation
created Time when order was created Order representation
modified Time when order was last modified Order representation
state Current state of the order Order representation
expires Time when order expires, empty if it never expires Order representation
numOrderItems Number of items in the order  
orderReference A human-readable string that uniquely identifies the order on the site. Order representation
checkoutPageLocation URL of the custom checkout page. Order representation
adminComment Comment on this order by the administrator. Order representation
userComment Comment on this order by the customer. Order representation
user-href URL of the user (customer) User representation
user-username Username of the user (customer) User representation
user-firstName First name of the user (customer) User representation
user-initial Middle initial of the user (customer) User representation
user-lastName Last name of the user (customer) User representation
user-email Email address of the user (customer) User representation
user-title Title of the user (customer) User representation
user-organization Organization of the user (customer) User representation
user-streetAddress Street address of the user (customer), comma-separated User representation
user-city City of the user (customer) User representation
user-state State of the user (customer) User representation
user-zipCode ZIP code of the user (customer) User representation
user-country Country of the user (customer) User representation
user-phone Phone number of the user (customer) User representation
user-fax Because people who use URL-encoded form data also use fax machines User representation

Webhook Response

The webhook server should respond with a status code of 204 No Content. However, any status code in the range 200 - 299 is acceptable, including 200 OK. Any additional headers or response body will be ignored.

If webhook requests fail, e.g., due to network errors or due to the webhook server not responding, then webhook requests may be resent by FotoWeb. To make sure that a webhook request for the same event has not already been received, the id field can be used.

For example, if FotoWeb fails to send a webhook request for a "shopping cart changed" event for the first time, then it will try to send the same request again later. The id field will be the same. If the webhook server has already received the first request but (due to a crash or network error) could not send a response to FotoWeb, then it can ignore the second request.

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Content Relation Items Changed Condition
  • Content Schema Condition
  • Executing a webhook when clicking on a marker
eco-lighthouse-miljøfyrtårn

Company

  • About us
  • Resellers
  • Careers
  • Contact us

Help & support

  • Support center
  • Consultancy
  • Tech partners
  • Fotostation
  • System status

Trust Center

  • Legal
  • Security
  • Sustainability & ESG

Locations

Fotoware AS (HQ)
Tollbugata 35
0157 OSLO
Norway
FotoWare Switzerland AG
Industriestrasse 25
5033 Buchs (AG)
Switzerland

Copyright 2025 Fotoware All rights reserved.

  • Terms of service
  • Privacy policy
  • Cookie policy

Knowledge Base Software powered by Helpjuice

Expand