Actions

Website Enquiry API: Difference between revisions

From Standout Property Manager Wiki Help

(Standout Communications Centre, inbound feeds and Meta documentation)
 
imported>Standout Wiki Update
(Updated for current Standout Property Manager functionality as at 16 September 2026.)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Website Enquiry API =
{{Note|'''Updated for Standout as at 16 September 2026.''' Updated to distinguish the current enquiry API from the hardened legacy website API.}}


The '''Website Enquiry API''' lets an external estate-agent website send contact forms, viewing requests, valuation requests and other sales/lettings enquiries directly into Standout's [[Communications Centre]].
'''See also:''' [[Communications Centre]] · [[Feeds and Portals]]


This page explains the Standout administrator workflow. The detailed technical specification is maintained inside Standout on the dedicated Developer integration guide page.
__NOTOC__
 
= Website Enquiry API =
== Create a website enquiry source ==
Open:


'''Administration → Feeds/Portals → Inbound enquiries → Agency website enquiries'''
The Website Enquiry API allows an agency website to send general enquiries, viewing requests, sales/rental enquiries and valuation requests directly into Standout's [[Communications Centre]].


# Enter a '''Source name''', for example ''Main website''.
== Where to configure it ==
# Choose a '''Fixed branch''' if every enquiry from that source belongs to one Standout branch. Otherwise leave ''Website may specify branch''.
# Optionally enter the '''Website origin''' as a complete URL origin, for example `https://www.example.co.uk`.
# Click '''Create website API key'''.
# Copy the complete key immediately and send it securely to the developer. Standout does not show the complete key again.


Create one source per website, or one per branch where separate keys/routing are useful.
Website enquiry sources are managed from the inbound-enquiry area in '''Administration → Feeds/Portals'''. Each source has a secret API key and can optionally be tied to a fixed Standout branch/origin.


== Keep the key server-side ==
The normal endpoint is:
The Website Enquiry API key is a secret.


It must not be placed in browser JavaScript, public HTML, a public Git repository, a mobile app or analytics/error-reporting payloads.
<pre>POST https://YOUR-STANDOUT-HOST/api/v1/enquiries</pre>


The public website should submit its form to its own server. The website server then makes a server-to-server HTTPS request to Standout.
Authenticate server-side using the source's <code>X-Standout-Key</code>. Never expose the key in browser JavaScript or public page source.


== Give the developer the guide ==
== Important fields ==
On the same Inbound enquiries tab, find '''Website API integration''' and click '''Developer integration guide'''.


The guide includes:
A website submission can include:


* the correct API endpoint for that Standout installation;
* <code>external_id</code> – strongly recommended unique submission ID;
* authentication headers;
* enquiry type (general/viewing/valuation/sales/rental);
* JSON request fields;
* customer name;
* example viewing request;
* email and/or telephone;
* PHP and Node.js server-side examples;
* message;
* success/duplicate behaviour;
* property reference or Standout property ID;
* HTTP error responses;
* branch/office ID where allowed;
* retry and security guidance; and
* source page URL;
* what Standout does after accepting an enquiry.
* received timestamp.


=== PDF and email ===
== Duplicate-safe retries ==
The guide can be shared without asking a developer to sign in to Standout.


At the top of the guide:
Generate <code>external_id</code> once, store it with the website form submission and reuse it on every retry. If the same source sends the same ID again, Standout returns the existing enquiry rather than creating a second communication.


* click '''Download PDF''' to generate the current guide as an A4 PDF; or
Treat both HTTP 200 (duplicate/existing) and 201 (new enquiry) as successful outcomes.
* enter the developer's name/email address and click '''Email PDF'''.


Standout generates the PDF on the fly from the same content as the web guide and attaches it to the email. It is not a separate manually maintained document.
== What Standout does next ==


== Manage an existing source ==
After accepting the enquiry Standout attempts to match the property, choose the branch, match an existing contact by email/telephone, assign the enquiry and retain the original payload. Staff can then correct matches and turn the enquiry into normal CRM actions from the Communications Centre.
Under '''Configured website enquiry sources''' you can see the source name, branch behaviour, key prefix, allowed origin, last lead and enabled status.


* '''Regenerate key''' invalidates the old secret and displays the replacement once.
== Error handling ==
* '''Disable''' stops the source accepting new requests.
* '''Enable''' reactivates it.


If a key is regenerated, make sure the developer updates the website before leaving the change outstanding.
Typical responses include 401 for a missing/invalid API key, 403 for an origin restriction, 422 for invalid form data, 429 for rate limiting, 503 when the Communications Centre is unavailable and 500 for an unexpected server error.


== What appears in Communications Centre ==
Retry connection failures, 429 and temporary 5xx responses with increasing delays while keeping the same <code>external_id</code>. Do not repeatedly retry a 401/403/422 without correcting the cause.
A successful website request creates an inbound communication containing the supplied customer details, enquiry type, message and property link/reference where supplied.


Standout can match the property, match an existing Contact, route the branch and assign the property's negotiator before the item reaches the queue.
Use HTTPS and a short overall request timeout, normally about 10–15 seconds.


See [[Communications Centre]] for the staff workflow after the enquiry arrives.
A full developer guide can be generated/emailed from the Standout administration area where enabled.


== Related guides ==
[[Category:API]]
* [[Inbound Enquiries]]
[[Category:Communications Centre]]
* [[Feeds and Portals]]
\n\n== Legacy website API security ==\n\nThe historical <code>/api/v1/website/*</code> API is separate from the current enquiry endpoint described above. Legacy website access requires a valid server-side website source key and an explicit per-source legacy-API opt-in. The opt-in is off by default.\n\nState-changing legacy operations use POST/DELETE rather than being exposed as GET operations, and agency/branch scope is taken from the authenticated source rather than blindly accepting caller-supplied agency identifiers.\n
* [[Communications Centre]]

Latest revision as of 13:15, 16 September 2026

Template:Note

See also: Communications Centre · Feeds and Portals


Website Enquiry API

The Website Enquiry API allows an agency website to send general enquiries, viewing requests, sales/rental enquiries and valuation requests directly into Standout's Communications Centre.

Where to configure it

Website enquiry sources are managed from the inbound-enquiry area in Administration → Feeds/Portals. Each source has a secret API key and can optionally be tied to a fixed Standout branch/origin.

The normal endpoint is:

POST https://YOUR-STANDOUT-HOST/api/v1/enquiries

Authenticate server-side using the source's X-Standout-Key. Never expose the key in browser JavaScript or public page source.

Important fields

A website submission can include:

  • external_id – strongly recommended unique submission ID;
  • enquiry type (general/viewing/valuation/sales/rental);
  • customer name;
  • email and/or telephone;
  • message;
  • property reference or Standout property ID;
  • branch/office ID where allowed;
  • source page URL;
  • received timestamp.

Duplicate-safe retries

Generate external_id once, store it with the website form submission and reuse it on every retry. If the same source sends the same ID again, Standout returns the existing enquiry rather than creating a second communication.

Treat both HTTP 200 (duplicate/existing) and 201 (new enquiry) as successful outcomes.

What Standout does next

After accepting the enquiry Standout attempts to match the property, choose the branch, match an existing contact by email/telephone, assign the enquiry and retain the original payload. Staff can then correct matches and turn the enquiry into normal CRM actions from the Communications Centre.

Error handling

Typical responses include 401 for a missing/invalid API key, 403 for an origin restriction, 422 for invalid form data, 429 for rate limiting, 503 when the Communications Centre is unavailable and 500 for an unexpected server error.

Retry connection failures, 429 and temporary 5xx responses with increasing delays while keeping the same external_id. Do not repeatedly retry a 401/403/422 without correcting the cause.

Use HTTPS and a short overall request timeout, normally about 10–15 seconds.

A full developer guide can be generated/emailed from the Standout administration area where enabled. \n\n== Legacy website API security ==\n\nThe historical /api/v1/website/* API is separate from the current enquiry endpoint described above. Legacy website access requires a valid server-side website source key and an explicit per-source legacy-API opt-in. The opt-in is off by default.\n\nState-changing legacy operations use POST/DELETE rather than being exposed as GET operations, and agency/branch scope is taken from the authenticated source rather than blindly accepting caller-supplied agency identifiers.\n