Mobile Api

Public Info

Read public info pages such as privacy policy, terms, and support contact data.

Flow Summary

The current public-info flow is:

Step 1. Load the full info set
GET /api/v1/info

Step 2. Load privacy policy or terms
GET /api/v1/info/privacy-policy or GET /api/v1/info/terms-condition

Step 3. Load support information
GET /api/v1/info/support

These routes are public and do not require Authorization.

Language Behavior

  • These handlers read Accept-Language
  • Only exact zh is treated as Chinese
  • Any other value falls back to English

1. List All Public Info

GET /api/v1/info

Returns the current list of info documents in the requested language.

Response shape

Each item uses:

  • title
  • content
  • type

Notes

  • This is the most complete info endpoint
  • Unlike the single-document endpoints below, this route returns a real server error if the repository fails

2. Get Privacy Policy And Terms

GET /api/v1/info/privacy-policy
GET /api/v1/info/terms-condition

Returns one localized document for the requested info type.

Response shape

{
  "status_code": 200,
  "message": "Success",
  "data": {
    "title": "Privacy Policy",
    "content": "...",
    "type": "PRIVACY_POLICY"
  }
}

Important backend caveat

  • The service currently swallows repository errors for these single-document lookups
  • If the record is missing or the query fails, the handler still returns success with an empty object instead of an error response

3. Get Support Information

GET /api/v1/info/support

Returns public support contact details.

Response fields

  • phone_number
  • email
  • telegram_link
  • telegram_number
  • working_hours
  • address
  • description

Important backend caveat

  • Like the single-document info lookups, this service currently returns success with an empty object if the support-info query fails

Integration Notes

  1. Use these endpoints for public onboarding screens before login.
  2. If the app needs a guaranteed non-empty legal document, handle empty-object responses defensively because the backend currently does not surface not-found here.
Copyright © 2026