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"
}
}