Download OpenAPI specification:
AdminService holds the RPCs that only admins may call. Keeping them out of the resource services keeps them out of the app's service clients, and lets a gateway restrict the whole admin surface by the /v1/admin/ prefix or by this service's name. Each RPC still checks that the caller has the ADMIN role.
Registers factory devices and their claim codes. Registering a serial again replaces its claim code.
required | Array of objects (api.admin.RegisterTekomisRequest_Device) At most 500 devices per call. |
{- "devices": [
- {
- "serial": "string",
- "claimCode": "string"
}
]
}{- "count": 0
}{- "users": [
- {
- "id": "string",
- "phoneNumber": "string",
- "email": "string",
- "fullName": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "city": "string",
- "address": "string",
- "photoUrl": "string",
- "status": 0,
- "emailVerified": true,
- "phoneNumberVerified": true,
- "role": 0
}
]
}Lists FAQs, ordered by created_at desc by default. Requires auth (global middleware).
| pageSize | integer <int32> |
| pageToken | string |
{- "faqs": [
- {
- "id": "string",
- "question": "string",
- "answer": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "nextPageToken": "string"
}List feedback for a user (owner-only). Supports alias "me".
| userId | string |
| pageSize | integer <int32> |
| pageToken | string |
{- "feedback": [
- {
- "id": "string",
- "userId": "string",
- "category": "string",
- "subject": "string",
- "message": "string",
- "status": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "nextPageToken": "string"
}Create feedback as the authenticated user. The user_id is inferred from auth; request body user_id is ignored.
| id | string |
| userId | string |
| category | string |
| subject | string |
| message | string |
| status | string |
| createdAt | string <date-time> |
| updatedAt | string <date-time> |
{- "id": "string",
- "userId": "string",
- "category": "string",
- "subject": "string",
- "message": "string",
- "status": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "userId": "string",
- "category": "string",
- "subject": "string",
- "message": "string",
- "status": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Get a single feedback (owner-only for now).
| id required | string |
{- "id": "string",
- "userId": "string",
- "category": "string",
- "subject": "string",
- "message": "string",
- "status": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}List feedback for a user (owner-only). Supports alias "me".
| userId required | string |
| pageSize | integer <int32> |
| pageToken | string |
{- "feedback": [
- {
- "id": "string",
- "userId": "string",
- "category": "string",
- "subject": "string",
- "message": "string",
- "status": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "nextPageToken": "string"
}SupportService is the scripted support chat. The bot asks a question with a fixed set of options; the user answers by choosing one, and the bot replies with the next question. A question without options ends the conversation.
Answers the latest question and returns the answer and the bot's reply.
| questionId required | string ID of the question being answered. Must be the latest bot message. |
| optionId required | string One of the question's options. |
{- "questionId": "string",
- "optionId": "string"
}{- "messages": [
- {
- "id": "string",
- "sender": 0,
- "text": "string",
- "options": [
- {
- "id": "string",
- "label": "string"
}
], - "layout": 0,
- "createTime": "2019-08-24T14:15:22Z"
}
]
}Starts a new conversation: a greeting followed by the first question. Calling it again starts over.
{ }{- "messages": [
- {
- "id": "string",
- "sender": 0,
- "text": "string",
- "options": [
- {
- "id": "string",
- "label": "string"
}
], - "layout": 0,
- "createTime": "2019-08-24T14:15:22Z"
}
]
}Lists the caller's messages, newest first.
| pageSize | integer <int32> |
| pageToken | string |
{- "messages": [
- {
- "id": "string",
- "sender": 0,
- "text": "string",
- "options": [
- {
- "id": "string",
- "label": "string"
}
], - "layout": 0,
- "createTime": "2019-08-24T14:15:22Z"
}
], - "nextPageToken": "string"
}{- "tekomis": [
- {
- "id": "string",
- "sessionId": "string",
- "version": "string",
- "control": {
- "power": true,
- "paused": true,
- "childLock": true
}, - "networkType": 0,
- "remainingTime": "string",
- "serial": "string",
- "status": "string",
- "workMode": "string",
- "signal": 0,
- "wifiSsid": "string",
- "errors": [
- "string"
], - "lastSeen": "2019-08-24T14:15:22Z"
}
]
}| DeviceID required | string |
| since | string |
| limit | string |
| status | integer <enum> |
{- "histories": [
- {
- "timestamp": "2019-08-24T14:15:22Z",
- "status": "string",
- "message": "string",
- "consumption": 0,
- "result": 0.1,
- "workedTime": "string",
- "timeHandleError": "2019-08-24T14:15:22Z"
}
]
}Returns aggregated statistics for histories of a device.
| deviceId required | string The device whose histories to aggregate. |
{- "runCount": 0,
- "producedWeightKg": 0.1,
- "collectedWeightKg": 0.1,
- "usedAtHomeWeightKg": 0.1
}{- "id": "string",
- "sessionId": "string",
- "version": "string",
- "control": {
- "power": true,
- "paused": true,
- "childLock": true
}, - "networkType": 0,
- "remainingTime": "string",
- "serial": "string",
- "status": "string",
- "workMode": "string",
- "signal": 0,
- "wifiSsid": "string",
- "errors": [
- "string"
], - "lastSeen": "2019-08-24T14:15:22Z"
}Unpairs the caller's device so it can be claimed again.
| id required | string |
| id required | string |
{- "id": "string"
}{ }Pairs the device with the caller. The claim code is printed on the device label; a device already paired with someone else is refused.
| serial required | string Serial printed on the device. |
| claimCode required | string Claim code printed on the device label. Case, spaces and dashes are ignored. |
{- "serial": "string",
- "claimCode": "string"
}{- "id": "string",
- "sessionId": "string",
- "version": "string",
- "control": {
- "power": true,
- "paused": true,
- "childLock": true
}, - "networkType": 0,
- "remainingTime": "string",
- "serial": "string",
- "status": "string",
- "workMode": "string",
- "signal": 0,
- "wifiSsid": "string",
- "errors": [
- "string"
], - "lastSeen": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "phoneNumber": "string",
- "email": "string",
- "fullName": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "city": "string",
- "address": "string",
- "photoUrl": "string",
- "status": 0,
- "emailVerified": true,
- "phoneNumberVerified": true,
- "role": 0
}| user.id required | string |
| updateMask | string <field-mask> The list of fields to update. |
| id | string |
| phoneNumber | string |
string | |
| fullName | string |
| dateOfBirth | string <date-time> |
| city | string |
| address | string |
| photoUrl | string |
| status | integer <enum> |
| emailVerified | boolean |
| phoneNumberVerified | boolean |
| role | integer <enum> |
{- "id": "string",
- "phoneNumber": "string",
- "email": "string",
- "fullName": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "city": "string",
- "address": "string",
- "photoUrl": "string",
- "status": 0,
- "emailVerified": true,
- "phoneNumberVerified": true,
- "role": 0
}{- "id": "string",
- "phoneNumber": "string",
- "email": "string",
- "fullName": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "city": "string",
- "address": "string",
- "photoUrl": "string",
- "status": 0,
- "emailVerified": true,
- "phoneNumberVerified": true,
- "role": 0
}Lists notifications for a user.
| user required | string The user id. |
| pageSize | integer <int32> |
| pageToken | string |
{- "notifications": [
- {
- "id": "string",
- "title": "string",
- "body": "string",
- "createTime": "2019-08-24T14:15:22Z",
- "read": true
}
], - "nextPageToken": "string"
}Batch updates the read status of notifications for a user.
| user required | string The user id. |
| parent required | string |
| notificationIds required | Array of strings |
| read | boolean |
{- "parent": "string",
- "notificationIds": [
- "string"
], - "read": true
}{- "updatedCount": "string"
}