Go-live checklist

Everything to confirm before you ask Localoy for a review and act for real partners with a production key.

Work through this list before you ask your partnerships contact for a review and your production key.

Keys#

  • Every provider key lives in a secret manager or an environment variable on your servers — never in a browser, a mobile app, a plugin you ship to partners or a repository.
  • Each of your systems has its own key, and you have a written procedure for replacing a key through Localoy.
  • A 403 provider_suspended stops your work and alerts someone; it is never retried.

Connecting partners#

  • Your product has a Connect to Localoy control that opens your deep link.
  • The code field accepts what partners paste: case, spaces and hyphens do not matter.
  • A 404 connection_code_invalid asks the partner for a new code.
  • A claim that timed out is retried with the same code, and a 200 counts as success.
  • Each connection's partnerId is stored against the partner's account in your system, and no code is ever stored or logged.
  • After a claim, you compare scopes with what you need and tell the partner what is missing.

Acting for partners#

  • Every partner-scoped call sends X-Localoy-Partner-Id, and one partner's work can never go out with another partner's ID.
  • 403 connection_paused holds your work for that partner; 404 connection_not_found ends it.
  • 403 open_network_scope_required is shown to the partner as a missing permission, not retried.
  • Your externalIds are prefixed so they cannot collide with the partner's own, and you handle 409 open_network_item_managed_elsewhere.
  • Each partner has its own checkout URL and inventory endpoint URL, and each inventory check is verified with that partner's secret.
  • Test items written with the sandbox key are deleted: the catalogue is shared.

Personal data#

  • You ask for PAYMENT and BOOKINGS only if your product uses customers' names, phone numbers and email addresses.
  • You have decided what happens to a partner's customer data when it disconnects you, and your partners know.

Webhooks#

  • A production endpoint is subscribed to connection.updated and connection.revoked, and to the booking and payment events you rely on.
  • Your receiver verifies signatures against the raw body, rejects stale timestamps and de-duplicates on X-Localoy-Event-Id.
  • It routes each event by its partnerId, and answers 2xx for partners it no longer knows.
  • It answers 2xx within 10 seconds and does slow work afterwards.
  • You watch your deliveries, and know how to re-enable an endpoint and replay what failed.

Limits#

  • A partner's sync stays within 240 requests per 15 minutes, and all partners together within 12,000.
  • Every 429 waits for its Retry-After before retrying.