Skip to main content

Documentation Index

Fetch the complete documentation index at: https://companyname-a7d5b98e-pr-1003-gas-tolk.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Here, you can view information about existing endpoints and how to make requests for them.

API URL

URL for POST requests: /events

POST events

This request is needed to record an event in the database.

Body

The request body may contain an array rather than a single event. The main thing is that all events in the array satisfy the scheme below.

Required

FieldTypeDescription
user_idnumberUnique identifier for the user.
event_namestringThe name of the event from the supported events.
session_idstringSession identifier for tracking user sessions. Must be UUID.
app_namestringThe name of the application that you specified when creating the token

Optional

FieldTypeDescription
is_premiumbooleanIf the user has a premium account, by default - false
is_successbooleanIndicates whether a wallet is connected or the transaction was successful, by default - false
error_messagestringError message if the wallet connection or transaction is unsuccessful
error_codenumberDescription: error code if the wallet connection or transaction is unsuccessful
wallet_addressstringWallet address involved in the event
wallet_typestringType of the wallet
wallet_versionstringVersion of the wallet software
auth_typeenumType of authorization used. 0 - ton_addr, 1 - ton_proof.
valid_untilstringTimestamp until when a transaction offer is valid
fromstringWallet address initiating the transaction
messages{ address: string; amount: string }List of transactions {to, amount} involved in the event
custom_dataobjectObject to store custom event details as needed
client_timestampstringThe time when the event occurred on the client
platformstringThe platform from which the MiniApp was opened
localestringUser language code
start_paramstringtgWebAppStartParam
url_refererstringThe URL of the web application from which the request was sent
scopestringEvent scope

Request body example:

[
  {
    "event_name": "app-init",
    "session_id": "10c574d9-6d2c-4e6d-a141-ce6da141ce6d",
    "user_id": 111111111,
    "app_name": "docs",
    "is_premium": true,
    "platform": "tdesktop",
    "locale": "en",
    "client_timestamp": "1743503599534"
  }
]
[
  {
    "event_name": "connection-started",
    "custom_data": {
      "ton_connect_sdk_lib": "3.0.3",
      "ton_connect_ui_lib": "2.0.5"
    },
    "session_id": "10c574d9-6d2c-4e6d-a141-ce6da141ce6d",
    "user_id": 111111111,
    "app_name": "docs",
    "is_premium": true,
    "platform": "tdesktop",
    "locale": "en",
    "client_timestamp": "1743503647541"
  }
]
[
  {
    "event_name": "connection-error",
    "is_success": false,
    "error_message": "Connection was cancelled",
    "error_code": null,
    "custom_data": {
      "ton_connect_sdk_lib": "3.0.3",
      "ton_connect_ui_lib": "2.0.5"
    },
    "session_id": "10c574d9-6d2c-4e6d-a141-ce6da141ce6d",
    "user_id": 111111111,
    "app_name": "docs",
    "is_premium": true,
    "platform": "tdesktop",
    "locale": "en",
    "client_timestamp": "1743503683701"
  }
]

Headers

Instead of YOUR_TOKEN, you need to specify the token received using the managing integration. (TO DO link)
{
    "TGA-Auth-Token": "YOUR_TOKEN",
    "Content-Type": "application/json"
}

Responses

HTTP201

  • Description: The event has been successfully recorded
  • Content:
{
    "message": "Success record."
}

HTTP400

  • Description: The event was not recorded due to server issues
  • Content:
{
    "message": "Failed to record"
}

HTTP400

  • Description: The token was entered incorrectly or in the wrong format
  • Content:
{
    "message": "The token is not specified in the headers or is specified incorrectly."
}

HTTP400

  • Description: The entered token is invalid (was not created through a Data Chief bot)
  • Content:
{
    "message": "Token is invalid."
}

HTTP400

  • Description: The request body contains the application name that does not match the token
  • Content:
{
    "message": "Invalid app_name is specified."
}

HTTP400

  • Description: the body specified in the request was not validated (for example, the type of one of the fields does not match)
  • Content:
{
    "status": 400,
    "message": "VALIDATION_MISMATCH_REPORT"
}

HTTP403

  • Description: an attempt to use the API on a domain name that does not match the token
  • Content:
{
    "message": "The domain name does not match."
}

HTTP429

  • Description: too many requests from the client in a certain amount of time
  • Content:
{
    "message": "Too many requests. Try again later."
}