Tracker plans¶
API calls on user's actions with tracker plans.
User of dealer can switch tracker from the plan t1 to plan t2 if:
- Tracker belongs to user and isn't a clone.
- Tracker's tariff last changed more than tariff.freeze.period (config option. default 30 days) ago.
- t1.tariff_id != t2.tariff_id, i.e. the new plan must be different from the current.
- t1.dealer_id = t2.dealer_id = dealer.effectiveDealerId, i.e. current and new plans must belong to user's effective dealer.
- t2.active = 1, i.e. new plan is active (plan's option "Allow users to switch to this plan independently" in panel is set on).
- t1.grouping = t2.grouping, i.e. user can change tariff only within one group of tariffs.
- t2.device = tracker, i.e. new plan must be for trackers.
- The new plan is available to user's legal type.
User's effective dealer is
- User's dealer if its dealer_id = defaultDealerId (config option) or dogovor_type = 'paas'.
- Parent of user's dealer otherwise.
API actions¶
API path: /tariff/tracker/.
change¶
Changes plan of tracker (with tracker_id) to new plan (with tariff_id).
required sub-user rights: admin (available only to master users).
| name | description | type |
|---|---|---|
| tracker_id | ID of a tracking device (aka "object_id"). The tracking device must belong to authorized user. | int |
| tariff_id | If of the new plan. | int |
Examples¶
curl -X POST 'https://api.gdemoi.ru/v2/tariff/tracker/change' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 345215, "tariff_id": 12}'
https://api.gdemoi.ru/v2/tariff/tracker/change?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=345215&tariff_id=12
Response¶
{
"success": true
}
Errors¶
- 201 – Not found in the database - if user doesn't have trackers with given
tracker_id. - 219 – Not allowed for clones of the device.
- 237 – Invalid plan - if there are no plan with specified
tariff_idand belongs to user's effective dealer. - 221 - Device limit exceeded – when new plan limit for devices is less than the current count of devices in the account.
- 238 - Changing plan is not allowed – user can't switch tracker to that plan.
- 239 – New plan doesn't exist.
- 240 - Not allowed changing plan too frequently – plan last changed less or equal to 30 days (tariff.freeze.period config option).
list¶
List plans on which user can switch the passed tracker (even when tariff last changed less or equal than tariff.freeze.period time ago).
Parameters¶
| name | description | type |
|---|---|---|
| tracker_id | ID of the tracker (aka "object_id"). Tracker must belong to authorized user. | int |
Examples¶
curl -X POST 'https://api.gdemoi.ru/v2/tariff/tracker/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 345215}'
https://api.gdemoi.ru/v2/tariff/tracker/list?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=345215
Response¶
{
"success": true,
"list": [
{
"id": 10,
"name": "Business",
"group_id": 2,
"active": true,
"type": "monthly",
"price": 13.0,
"early_change_price": 23.0,
"device_limit": 1000,
"has_reports": true,
"paas_free": false,
"store_period": "12m",
"features": [
"map_layers"
],
"map_filter": {
"exclusion": true,
"values": []
}
}
],
"days_to_next_change": 11
}
list- array of objects. List of plan objects.days_to_next_change- int. Days to the next free change, or 0 if free change available.
Errors¶
- General types only.
Последнее обновление: 27 февраля 2025 г.