Skip to main content

Communication Format

Overview​

This document outlines how to securely and consistently interact with the API. It includes authentication, protocol requirements, request structure, and expected response formats.

Authentication & Protocol​

All API communication is handled over HTTPS using secure HTTP POST requests.
Each client is issued a unique API key during onboarding, which must be included in the request headers to ensure authentication.

Security Requirements​

  • All communication must use TLS 1.2 or higher.
  • Older TLS versions (1.0, 1.1) are deprecated and must not be used.

API Endpoint​

API Servers​

Every endpoint's {{server}} placeholder must be replaced with one of the base URLs below. Use the one that matches your integration; if more than one is listed, they are equivalent alternatives for this brand.

Available API Servers
https://prod-api.uye.app
https://pos-api.fidelizacion.app

Request Structure​

All requests must include a UTF-8 encoded JSON body and be sent via POST to a versioned API endpoint.

Format:

{{server}}/v1/{apiCall}

URL Components​

ComponentDescription
API server hostBase domain of the API, see API Servers
Versioned pathAPI version and specific call
ParametersOptional query parameters

Request Headers​

HeaderTypeRequiredDescription
Content-TypestringYesAlways set to application/json
x-api-keystringYesClient API key for authentication
x-branch-idstringYesIdentifier for the business branch
x-pos-idstringYesIdentifier for the POS terminal making the request
x-source-typestringYesOrigin of transaction (e.g., POS, Website, Kiosk)
x-source-namestringYesName of the integration or source system

Response Format​

The API returns a JSON response object with a status field indicating success or failure.
In case of failure, an error object is included with details.

Error Response Fields​

FieldTypeDescription
codestringUnique error identifier
messagestringDescription of the issue
pathstringLocation in the request that failed

Example Error Response​

{
"status": "error",
"error": {
"code": "4001012",
"message": "Member not found",
"path": "body.member.phoneNumber"
}
}