Tiquo
API and AuthenticationCustomer API

Get Profile

Retrieve the authenticated customer's profile

Get Profile

Returns the authenticated user's account information and linked customer profile.

Endpoint

GET /profile

Authentication

Requires a valid JWT access token.

Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...

Example Request

curl -X GET "https://edge.tiquo.app/api/client/v1/profile" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."

Response

{
  "success": true,
  "data": {
    "user": {
      "id": "user_abc123",
      "email": "customer@example.com"
    },
    "customer": {
      "id": "cust_456",
      "firstName": "John",
      "lastName": "Doe",
      "displayName": "John Doe",
      "customerNumber": "CUST-000001",
      "email": "customer@example.com",
      "phone": "+1234567890",
      "profilePhoto": "https://example.com/photo.jpg",
      "status": "active",
      "totalOrders": 5,
      "totalSpent": 150.00,
      "lifetimeValue": 200.00,
      "createdAt": 1704067200000,
      "firstActiveAt": 1706745600000
    }
  }
}

User Object

FieldTypeDescription
idstringThe user's unique ID
emailstringThe user's email address

Customer Object

The customer field is included when the user has a linked customer profile in the organization. If no customer record exists, this field will be null.

FieldTypeDescription
idstringCustomer document ID
firstNamestring or nullFirst name
lastNamestring or nullLast name
displayNamestring or nullFull display name
customerNumberstringHuman-readable customer number (e.g. CUST-000001)
emailstring or nullPrimary email address
phonestring or nullPhone number
profilePhotostring or nullURL to profile photo
statusstringOne of: active, inactive, archived
totalOrdersinteger or nullTotal number of orders
totalSpentnumber or nullTotal amount spent
lifetimeValuenumber or nullCustomer lifetime value
createdAtintegerRead-only Unix timestamp in milliseconds for when the customer profile was created
firstActiveAtinteger or omittedRead-only Unix timestamp in milliseconds for the customer's first qualifying activity

Created and First Active

createdAt is the time the profile itself was created. It is never rewritten or backdated from customer activity.

firstActiveAt is the time the customer first became active through qualifying customer activity. It is not the database insertion time. Activities performed by staff, systems, integrations, or imports do not set it. The field can be omitted for a legacy or never-active profile until qualifying activity is recorded.

The two values are equal when the customer creates their own account and is immediately active in the same flow. Imported or staff-created profiles can have a later First Active value.

Both fields are system-managed and cannot be changed through PATCH /profile or customer parameter updates.

Errors

StatusDescription
400No customer profile is linked to this account
401Invalid or expired access token
500Internal server error

Code Examples

JavaScript

const response = await fetch('https://edge.tiquo.app/api/client/v1/profile', {
  headers: {
    'Authorization': `Bearer ${accessToken}`,
  },
});

const { success, data, error } = await response.json();

if (success) {
  console.log(data.user.email);
  console.log(data.customer?.displayName);
  console.log(data.customer?.createdAt);
  console.log(data.customer?.firstActiveAt);
}

Swift

var request = URLRequest(url: URL(string: "https://edge.tiquo.app/api/client/v1/profile")!)
request.setValue("Bearer \(accessToken)", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
let result = try JSONDecoder().decode(ProfileResponse.self, from: data)

Kotlin

val client = OkHttpClient()
val request = Request.Builder()
    .url("https://edge.tiquo.app/api/client/v1/profile")
    .addHeader("Authorization", "Bearer $accessToken")
    .build()

val response = client.newCall(request).execute()

Sur cette page