# pyxlpora_api
[![PyPI version](https://badge.fury.io/py/pyxplora-api.svg)](https://badge.fury.io/py/pyxplora-api) [![Downloads](https://pepy.tech/badge/pyxplora-api)](https://pepy.tech/project/pyxplora-api) [![Downloads](https://pepy.tech/badge/pyxplora-api/month)](https://pepy.tech/project/pyxplora-api) [![Downloads](https://pepy.tech/badge/pyxplora-api/week)](https://pepy.tech/project/pyxplora-api)
[![GitHub issues](https://img.shields.io/github/issues/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api/issues)
[![GitHub forks](https://img.shields.io/github/forks/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api)
[![GitHub stars](https://img.shields.io/github/stars/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api)
[![GitHub license](https://img.shields.io/github/license/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api/blob/main/LICENSE)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge&logo=appveyor)](https://github.com/psf/black)
[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/ludy87)
[![✨ Wishlist from Amazon ✨](https://www.astra-g.org/wp-content/uploads/2022/09/amazon_wish.png)](https://smile.amazon.de/registry/wishlist/2MX8QK8VE9MV1)
---
Unofficial python library for the Xplora® API
Diese Projekt ist eine Übersetzung von TypeScript zu Python, mit Erweiterungen.
Ein dank geht an @MiGoller mit seinem Projekt [xplora-api.js](https://github.com/MiGoller/xplora-api.js)
## [Sample for beginning](https://github.com/Ludy87/pyxplora_api/tree/main/sample/main.py)
## [Sample for scanner (Phonenumber and Email)](https://github.com/Ludy87/pyxplora_api/tree/main/sample/scanner.py)
## Usage
### sync
```python
from pyxplora_api.pyxplora_api import PyXploraApi
xplora = PyXploraApi(countryCode, phoneNummer, password, local, timeZone[, childPhoneNumber, wuid, email])
xplora.init(forceLogin=False, signup=True)
```
### async
```python
from pyxplora_api.pyxplora_api_async import PyXploraApi
xplora = PyXploraApi(countryCode, phoneNummer, password, local, timeZone[, childPhoneNumber, wuid, email])
await xplora.init(forceLogin=False, signup=True)
```
## **add in Version 2.2.0**
You can Sign In with Phone Number or Email. If you enter your email, the telephone number entered will be ignored.
---
## Sign in User: Infos
| Function | Result Type | Return |
| --------------------- | --------------------- | ------------------- |
| getUserID() | str: | |
| getUserName() | str: | |
| getUserIcon() | str: | Url |
| getUserXcoin() | int: | |
| getUserCurrentStep() | int: | |
| getUserTotalStep() | int: | |
| getUserCreate() | str: | 2021-12-31 23:59:59 |
| getUserUpdate() | str: | 2022-01-01 00:00:01 |
| getWatches(wuid: str) | list[dict[str, any]]: | |
## Watch: User Infos
| Function | Result Type | Since Version |
| -------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------ |
| getWatchUserIDs(child_no: list[str] = []) | list[str]: | |
| getWatchUserPhoneNumbers(wuid: None, ignoreError: bool = False) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| getWatchUserPhoneNumbers(wuid: str, ignoreError: bool = False) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |
| getWatchUserPhoneNumbers(wuid: list[str], ignoreError: bool = False) | list[str]: | |
| getWatchUserNames(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| getWatchUserNames(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |
| getWatchUserNames(wuid: list[str]) | list[str]: | |
| getWatchUserIcons(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| getWatchUserIcons(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |
| getWatchUserIcons(wuid: list[str]) | list[str]: | |
| getWatchUserXCoins(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| getWatchUserXCoins(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |
| getWatchUserXCoins(wuid: list[str]) | list[int]: | |
| getWatchUserCurrentStep(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| getWatchUserCurrentStep(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |
| getWatchUserCurrentStep(wuid: list[str]) | list[int]: | |
| getWatchUserTotalStep(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| getWatchUserTotalStep(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |
| getWatchUserTotalStep(wuid: list[str]) | list[int]: | |
| getWatchUserSteps(wuid: str, date: int) | dict[str, any]: | |
| getWatchUserContacts(wuid: str) | list[dict[str, any]]: | |
## Watch: Infos
| Function | Result Type | Result |
| -------------------------------------------------------------------------------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| getWatchAlarm(wuid: str) | list[dict[str, any]]: |
| getWatchBattery(wuid: str) | int: |
| getWatchIsCharging(wuid: str) | bool: |
| getWatchOnlineStatus(wuid: str) | str: |
| getWatchUnReadChatMsgCount(wuid: str) | int: |
| getWatchChats(wuid: str, offset: int = 0, limit: int = 0, msgId: str = "") | list[dict[str, any]]: | "msgId", "type", "sender_id", "sender_name", "receiver_id", receiver_name", "data_text", data_sender_name", "create" |
| getWatchChatsRaw(wuid: str, offset: int = 0, limit: int = 0, msgId: str = "", show_del_msg: bool = True) | list[dict[str, any]]: |
| getSWInfo(wuid: str) | dict[str, any]: |
| getWatchState(wuid: str) | dict[str, any]: |
## Watch: Location Infos
| Function | Result Type | Return |
| ------------------------------------------------------------- | --------------------- | ------------- |
| getWatchLastLocation(wuid: str, withAsk: bool = False) | dict[str, any]: | |
| getWatchLocate(wuid: str) | dict[str, any]: | |
| getWatchLocateType(wuid: str) | str: | GPS/WIFI/CELL |
| getWatchSafeZones(wuid: str) | list[dict[str, any]]: | |
| getWatchIsInSafeZone(wuid: str) | bool: | |
| getWatchSafeZoneLabel(wuid: str) | str: | |
| getWatchLocHistory(wuid: str, date: int, tz: str, limit: int) | dict[str, any]: | |
| getTrackWatchInterval(wuid: str) | int: | 60 |
| askWatchLocate(wuid: str) | bool: | |
| getStartTrackingWatch(wuid: str) | int: | 1800 |
| getEndTrackingWatch(wuid: str) | int: | 1 |
## Watch: Silent Mode
| Function | Result Type | Since Version |
| ------------------------------------ | --------------------- | ------------------------------------------------------------------ |
| getSilentTime(wuid: str) | list[dict[str, any]]: | |
| setEnableSilentTime(silent_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| setDisableSilentTime(silent_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| setAllEnableSilentTime(wuid: str) | list[bool]: | |
| setAllDisableSilentTime(wuid: str) | list[bool]: | |
## Watch: Alarm
| Function | Result Type | Since Version |
| ---------------------------------- | --------------- | ------------------------------------------------------------------ |
| getAlarmTime(wuid: str) | dict[str, any]: | |
| setEnableAlarmTime(alarm_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| setDisableAlarmTime(alarm_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |
| setAllEnableAlarmTime(wuid: str) | list[bool]: | |
| setAllDisableAlarmTime(wuid: str) | list[bool]: | |
## Watch: Chat Fetch
| Function | Result Type |
| ----------------------------------------------------- | --------------- |
| chats(wuid: str, offset: int, limit: int, msgId: str) | dict[str, any]: |
| fetchChatImage(wuid: str, msgId: str) | dict[str, any]: |
| fetchChatMp3(wuid: str, msgId: str) | dict[str, any]: |
| fetchChatShortVideo(wuid: str, msgId: str) | dict[str, any]: |
| fetchChatShortVideoCover(wuid: str, msgId: str) | dict[str, any]: |
| fetchChatVoice(wuid: str, msgId: str) | dict[str, any]: |
## Watch: Feature
| Function | Result Type | Since Version |
| ------------------------------------------- | ----------- | ------------------------------------------------------------------ |
| sendText(text: str, wuid: str) | bool: |
| deleteMessageFromApp(wuid: str, msgId: str) | bool: | [2.5.0](https://github.com/Ludy87/pyxplora_api/releases/tag/2.5.0) |
| isAdmin(wuid: str) | bool: |
| shutdown(wuid: str) | bool: |
| reboot(wuid: str) | bool: |
| addStep(step: int) | bool: |
## other
| Function | Result Type | Since Version |
| --------------------------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------ |
| getFollowRequestWatchCount() | int: |
| conv360IDToO2OID(qid: str, deviceId: str) | dict[str, any]: |
| campaigns(id: str, categoryId: str) | dict[str, any]: |
| getCountries() | list[dict[str, str]]: |
| watchesDynamic() | dict[str, any]: |
| watchGroups(id: str) | dict[str, any]: |
| familyInfo(wuid: str, watchId: str, tz: str, date: int) | dict[str, any]: |
| avatars(id: str) | dict[str, any]: |
| submitIncorrectLocationData(wuid: str, lat: str, lng: str, timestamp: str) | bool: |
| getAppVersion() | dict[str, any]: |
| checkEmailOrPhoneExist(type: UserContactType, email: str, countryCode: str, phoneNumber: str) | bool: | [2.2.2](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.2) |
| refresh_token(wuid: str, refresh_token: str) | str: | [2.8.0](https://github.com/Ludy87/pyxplora_api/releases/tag/2.8.2) |
---
## Country Support
| country name | country code |
| -------------------------------------------- | ------------ |
| Afghanistan | 93 |
| Albania | 355 |
| Algeria | 213 |
| AmericanSamoa | 1 684 |
| Andorra | 376 |
| Angola | 244 |
| Anguilla | 1 264 |
| Antarctica | 672 |
| Antigua and Barbuda | 1268 |
| Argentina | 54 |
| Armenia | 374 |
| Aruba | 297 |
| Australia | 61 |
| Austria | 43 |
| Azerbaijan | 994 |
| Bahamas | 1 242 |
| Bahrain | 973 |
| Bangladesh | 880 |
| Barbados | 1 246 |
| Belarus | 375 |
| Belgium | 32 |
| Belize | 501 |
| Benin | 229 |
| Bermuda | 1 441 |
| Bhutan | 975 |
| Bolivia, Plurinational State of | 591 |
| Bosnia and Herzegovina | 387 |
| Botswana | 267 |
| Brazil | 55 |
| British Indian Ocean Territory | 246 |
| Brunei Darussalam | 673 |
| Bulgaria | 359 |
| Burkina Faso | 226 |
| Burundi | 257 |
| Cambodia | 855 |
| Cameroon | 237 |
| Canada | 1 |
| Cape Verde | 238 |
| Cayman Islands | 345 |
| Central African Republic | 236 |
| Chad | 235 |
| Chile | 56 |
| China | 86 |
| Christmas Island | 61 |
| Cocos (Keeling) Islands | 61 |
| Colombia | 57 |
| Comoros | 269 |
| Congo | 242 |
| Congo, The Democratic Republic of the | 243 |
| Cook Islands | 682 |
| Costa Rica | 506 |
| Cote d'Ivoire | 225 |
| Croatia | 385 |
| Cuba | 53 |
| Cyprus | 357 |
| Czech Republic | 420 |
| Denmark | 45 |
| Djibouti | 253 |
| Dominica | 1 767 |
| Dominican Republic | 1 849 |
| Ecuador | 593 |
| Egypt | 20 |
| El Salvador | 503 |
| Equatorial Guinea | 240 |
| Eritrea | 291 |
| Estonia | 372 |
| Ethiopia | 251 |
| Falkland Islands (Malvinas) | 500 |
| Faroe Islands | 298 |
| Fiji | 679 |
| Finland | 358 |
| France | 33 |
| French Guiana | 594 |
| French Polynesia | 689 |
| Gabon | 241 |
| Gambia | 220 |
| Georgia | 995 |
| Germany | 49 |
| Ghana | 233 |
| Gibraltar | 350 |
| Greece | 30 |
| Greenland | 299 |
| Grenada | 1 473 |
| Guadeloupe | 590 |
| Guam | 1 671 |
| Guatemala | 502 |
| Guernsey | 44 |
| Guinea | 224 |
| Guinea-Bissau | 245 |
| Guyana | 595 |
| Haiti | 509 |
| Holy See (Vatican City State) | 379 |
| Honduras | 504 |
| Hong Kong | 852 |
| Hungary | 36 |
| Iceland | 354 |
| India | 91 |
| Indonesia | 62 |
| Iran, Islamic Republic of | 98 |
| Iraq | 964 |
| Ireland | 353 |
| Isle of Man | 44 |
| Israel | 972 |
| Italy | 39 |
| Jamaica | 1 876 |
| Japan | 81 |
| Jersey | 44 |
| Jordan | 962 |
| Kazakhstan | 7 7 |
| Kenya | 254 |
| Kiribati | 686 |
| Korea, Democratic People's Republic of | 850 |
| Korea, Republic of | 82 |
| Kuwait | 965 |
| Kosovo | 383 |
| Kyrgyzstan | 996 |
| Lao People's Democratic Republic | 856 |
| Latvia | 371 |
| Lebanon | 961 |
| Lesotho | 266 |
| Liberia | 231 |
| Libyan Arab Jamahiriya | 218 |
| Liechtenstein | 423 |
| Lithuania | 370 |
| Luxembourg | 352 |
| Macao | 853 |
| Macedonia, The Former Yugoslav Republic of | 389 |
| Madagascar | 261 |
| Malawi | 265 |
| Malaysia | 60 |
| Maldives | 960 |
| Mali | 223 |
| Malta | 356 |
| Marshall Islands | 692 |
| Martinique | 596 |
| Mauritania | 222 |
| Mauritius | 230 |
| Mayotte | 262 |
| Mexico | 52 |
| Micronesia, Federated States of | 691 |
| Moldova, Republic of | 373 |
| Monaco | 377 |
| Mongolia | 976 |
| Montenegro | 382 |
| Montserrat | 1664 |
| Morocco | 212 |
| Mozambique | 258 |
| Myanmar | 95 |
| Namibia | 264 |
| Nauru | 674 |
| Nepal | 977 |
| Netherlands | 31 |
| Netherlands Antilles | 599 |
| New Caledonia | 687 |
| New Zealand | 64 |
| Nicaragua | 505 |
| Niger | 227 |
| Nigeria | 234 |
| Niue | 683 |
| Norfolk Island | 672 |
| Northern Mariana Islands | 1 670 |
| Norway | 47 |
| Oman | 968 |
| Pakistan | 92 |
| Palau | 680 |
| Palestinian Territory, Occupied | 970 |
| Panama | 507 |
| Papua New Guinea | 675 |
| Paraguay | 595 |
| Peru | 51 |
| Philippines | 63 |
| Pitcairn | 872 |
| Poland | 48 |
| Portugal | 351 |
| Puerto Rico | 1 939 |
| Qatar | 974 |
| Romania | 40 |
| Russia | 7 |
| Rwanda | 250 |
| Réunion | 262 |
| Saint Barthélemy | 590 |
| Saint Helena, Ascension and Tristan Da Cunha | 290 |
| Saint Kitts and Nevis | 1 869 |
| Saint Lucia | 1 758 |
| Saint Martin | 590 |
| Saint Pierre and Miquelon | 508 |
| Saint Vincent and the Grenadines | 1 784 |
| Samoa | 685 |
| San Marino | 378 |
| Sao Tome and Principe | 239 |
| Saudi Arabia | 966 |
| Senegal | 221 |
| Serbia | 381 |
| Seychelles | 248 |
| Sierra Leone | 232 |
| Singapore | 65 |
| Slovakia | 421 |
| Slovenia | 386 |
| Solomon Islands | 677 |
| Somalia | 252 |
| South Africa | 27 |
| South Georgia and the South Sandwich Islands | 500 |
| Spain | 34 |
| Sri Lanka | 94 |
| Sudan | 249 |
| Suriname | 597 |
| Svalbard and Jan Mayen | 47 |
| Swaziland | 268 |
| Sweden | 46 |
| Switzerland | 41 |
| Syrian Arab Republic | 963 |
| Taiwan, Province of China | 886 |
| Tajikistan | 992 |
| Tanzania, United Republic of | 255 |
| Thailand | 66 |
| Timor-Leste | 670 |
| Togo | 228 |
| Tokelau | 690 |
| Tonga | 676 |
| Trinidad and Tobago | 1 868 |
| Tunisia | 216 |
| Turkey | 90 |
| Turkmenistan | 993 |
| Turks and Caicos Islands | 1 649 |
| Tuvalu | 688 |
| Uganda | 256 |
| Ukraine | 380 |
| United Arab Emirates | 971 |
| United Kingdom | 44 |
| United States | 1 |
| Uruguay | 598 |
| Uzbekistan | 998 |
| Vanuatu | 678 |
| Venezuela, Bolivarian Republic of | 58 |
| Viet Nam | 84 |
| Virgin Islands, British | 1284 |
| Virgin Islands, U.S. | 1340 |
| Wallis and Futuna | 681 |
| Yemen | 967 |
| Zambia | 260 |
| Zimbabwe | 263 |
| Åland Islands | 358 |
## Contacts
| sections | mode | type |
| -------- | ---- | ---- |
| Contacts | read | list |
---
## Login Account
| sections | mode | type |
| -------------- | ---------- | ---- |
| UID | read | str |
| Username | read | str |
| Icon | read | str |
| Xcoin | read | int |
| current Step | read | int |
| total Step | read/write | int |
| time of create | read | str |
| time of update | read | str |
---
## Watch
| sections | mode | type | comment |
| -------------------------------- | ---------- | ---- | ----------------------------------------------- |
| UID | read | str | |
| Name | read | str | |
| Xcoin | read | int | |
| current Step | read | int | |
| total Step | read | int | |
| Alarms | read | list | get all/enable/disable - enable all/disable all |
| Battery | read | int | |
| Charging | read | bool | |
| Online Status | read | str | |
| Unread Msg Count | read | int | ?BUG? Result is always 0 |
| Chats | read | list | Don't all chats - confused |
| last locate | read | dict | |
| locate Type | read | str | GPS/WIFI/CELL |
| locate now | read | dict | |
| is in Safezone | read | bool | |
| Safezone Label | read | str | |
| Safezone | read/write | list | |
| track Interval | read | int | |
| ask Watch Locate | read | bool | |
| silents | read | list | get all/enable/disable - enable all/disable all |
| sendText | read | bool | sender: logged User |
| shutdown | read | bool | only admins |
| reboot | read | bool | only admins |
| check exist Email or Phonenumber | read | bool | no login required |
Raw data
{
"_id": null,
"home_page": "https://github.com/Ludy87/pyxplora_api",
"name": "pyxplora-api",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "api xplora watch",
"author": "Ludy87",
"author_email": "android@astra-g.org",
"download_url": "https://files.pythonhosted.org/packages/82/49/c9c428150329d5ce21dcc6837c2d75331f10f181aa2941db1be2814ce3d2/pyxplora_api-2.12.9.tar.gz",
"platform": null,
"description": "# pyxlpora_api\n\n[![PyPI version](https://badge.fury.io/py/pyxplora-api.svg)](https://badge.fury.io/py/pyxplora-api) [![Downloads](https://pepy.tech/badge/pyxplora-api)](https://pepy.tech/project/pyxplora-api) [![Downloads](https://pepy.tech/badge/pyxplora-api/month)](https://pepy.tech/project/pyxplora-api) [![Downloads](https://pepy.tech/badge/pyxplora-api/week)](https://pepy.tech/project/pyxplora-api)\n\n[![GitHub issues](https://img.shields.io/github/issues/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api/issues)\n[![GitHub forks](https://img.shields.io/github/forks/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api)\n[![GitHub stars](https://img.shields.io/github/stars/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api)\n[![GitHub license](https://img.shields.io/github/license/Ludy87/pyxplora_api?style=for-the-badge&logo=appveyor)](https://github.com/Ludy87/pyxplora_api/blob/main/LICENSE)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge&logo=appveyor)](https://github.com/psf/black)\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/ludy87)\n\n[![\u2728 Wishlist from Amazon \u2728](https://www.astra-g.org/wp-content/uploads/2022/09/amazon_wish.png)](https://smile.amazon.de/registry/wishlist/2MX8QK8VE9MV1)\n\n---\nUnofficial python library for the Xplora\u00ae API\n\nDiese Projekt ist eine \u00dcbersetzung von TypeScript zu Python, mit Erweiterungen.\nEin dank geht an @MiGoller mit seinem Projekt [xplora-api.js](https://github.com/MiGoller/xplora-api.js)\n\n## [Sample for beginning](https://github.com/Ludy87/pyxplora_api/tree/main/sample/main.py)\n\n## [Sample for scanner (Phonenumber and Email)](https://github.com/Ludy87/pyxplora_api/tree/main/sample/scanner.py)\n\n## Usage\n\n### sync\n\n```python\nfrom pyxplora_api.pyxplora_api import PyXploraApi\n\nxplora = PyXploraApi(countryCode, phoneNummer, password, local, timeZone[, childPhoneNumber, wuid, email])\nxplora.init(forceLogin=False, signup=True)\n```\n\n### async\n\n```python\nfrom pyxplora_api.pyxplora_api_async import PyXploraApi\n\nxplora = PyXploraApi(countryCode, phoneNummer, password, local, timeZone[, childPhoneNumber, wuid, email])\nawait xplora.init(forceLogin=False, signup=True)\n```\n\n## **add in Version 2.2.0**\n\nYou can Sign In with Phone Number or Email. If you enter your email, the telephone number entered will be ignored.\n\n---\n\n## Sign in User: Infos\n\n| Function | Result Type | Return |\n| --------------------- | --------------------- | ------------------- |\n| getUserID() | str: | |\n| getUserName() | str: | |\n| getUserIcon() | str: | Url |\n| getUserXcoin() | int: | |\n| getUserCurrentStep() | int: | |\n| getUserTotalStep() | int: | |\n| getUserCreate() | str: | 2021-12-31 23:59:59 |\n| getUserUpdate() | str: | 2022-01-01 00:00:01 |\n| getWatches(wuid: str) | list[dict[str, any]]: | |\n\n## Watch: User Infos\n\n| Function | Result Type | Since Version |\n| -------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------ |\n| getWatchUserIDs(child_no: list[str] = []) | list[str]: | |\n| getWatchUserPhoneNumbers(wuid: None, ignoreError: bool = False) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| getWatchUserPhoneNumbers(wuid: str, ignoreError: bool = False) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |\n| getWatchUserPhoneNumbers(wuid: list[str], ignoreError: bool = False) | list[str]: | |\n| getWatchUserNames(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| getWatchUserNames(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |\n| getWatchUserNames(wuid: list[str]) | list[str]: | |\n| getWatchUserIcons(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| getWatchUserIcons(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |\n| getWatchUserIcons(wuid: list[str]) | list[str]: | |\n| getWatchUserXCoins(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| getWatchUserXCoins(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |\n| getWatchUserXCoins(wuid: list[str]) | list[int]: | |\n| getWatchUserCurrentStep(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| getWatchUserCurrentStep(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |\n| getWatchUserCurrentStep(wuid: list[str]) | list[int]: | |\n| getWatchUserTotalStep(None) | list[str]: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| getWatchUserTotalStep(wuid: str) | str: | [2.2.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.1) |\n| getWatchUserTotalStep(wuid: list[str]) | list[int]: | |\n| getWatchUserSteps(wuid: str, date: int) | dict[str, any]: | |\n| getWatchUserContacts(wuid: str) | list[dict[str, any]]: | |\n\n## Watch: Infos\n\n| Function | Result Type | Result |\n| -------------------------------------------------------------------------------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------- |\n| getWatchAlarm(wuid: str) | list[dict[str, any]]: |\n| getWatchBattery(wuid: str) | int: |\n| getWatchIsCharging(wuid: str) | bool: |\n| getWatchOnlineStatus(wuid: str) | str: |\n| getWatchUnReadChatMsgCount(wuid: str) | int: |\n| getWatchChats(wuid: str, offset: int = 0, limit: int = 0, msgId: str = \"\") | list[dict[str, any]]: | \"msgId\", \"type\", \"sender_id\", \"sender_name\", \"receiver_id\", receiver_name\", \"data_text\", data_sender_name\", \"create\" |\n| getWatchChatsRaw(wuid: str, offset: int = 0, limit: int = 0, msgId: str = \"\", show_del_msg: bool = True) | list[dict[str, any]]: |\n| getSWInfo(wuid: str) | dict[str, any]: |\n| getWatchState(wuid: str) | dict[str, any]: |\n\n## Watch: Location Infos\n\n| Function | Result Type | Return |\n| ------------------------------------------------------------- | --------------------- | ------------- |\n| getWatchLastLocation(wuid: str, withAsk: bool = False) | dict[str, any]: | |\n| getWatchLocate(wuid: str) | dict[str, any]: | |\n| getWatchLocateType(wuid: str) | str: | GPS/WIFI/CELL |\n| getWatchSafeZones(wuid: str) | list[dict[str, any]]: | |\n| getWatchIsInSafeZone(wuid: str) | bool: | |\n| getWatchSafeZoneLabel(wuid: str) | str: | |\n| getWatchLocHistory(wuid: str, date: int, tz: str, limit: int) | dict[str, any]: | |\n| getTrackWatchInterval(wuid: str) | int: | 60 |\n| askWatchLocate(wuid: str) | bool: | |\n| getStartTrackingWatch(wuid: str) | int: | 1800 |\n| getEndTrackingWatch(wuid: str) | int: | 1 |\n\n## Watch: Silent Mode\n\n| Function | Result Type | Since Version |\n| ------------------------------------ | --------------------- | ------------------------------------------------------------------ |\n| getSilentTime(wuid: str) | list[dict[str, any]]: | |\n| setEnableSilentTime(silent_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| setDisableSilentTime(silent_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| setAllEnableSilentTime(wuid: str) | list[bool]: | |\n| setAllDisableSilentTime(wuid: str) | list[bool]: | |\n\n## Watch: Alarm\n\n| Function | Result Type | Since Version |\n| ---------------------------------- | --------------- | ------------------------------------------------------------------ |\n| getAlarmTime(wuid: str) | dict[str, any]: | |\n| setEnableAlarmTime(alarm_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| setDisableAlarmTime(alarm_id: str) | bool: | [2.1.1](https://github.com/Ludy87/pyxplora_api/releases/tag/2.1.1) |\n| setAllEnableAlarmTime(wuid: str) | list[bool]: | |\n| setAllDisableAlarmTime(wuid: str) | list[bool]: | |\n\n## Watch: Chat Fetch\n\n| Function | Result Type |\n| ----------------------------------------------------- | --------------- |\n| chats(wuid: str, offset: int, limit: int, msgId: str) | dict[str, any]: |\n| fetchChatImage(wuid: str, msgId: str) | dict[str, any]: |\n| fetchChatMp3(wuid: str, msgId: str) | dict[str, any]: |\n| fetchChatShortVideo(wuid: str, msgId: str) | dict[str, any]: |\n| fetchChatShortVideoCover(wuid: str, msgId: str) | dict[str, any]: |\n| fetchChatVoice(wuid: str, msgId: str) | dict[str, any]: |\n\n## Watch: Feature\n\n| Function | Result Type | Since Version |\n| ------------------------------------------- | ----------- | ------------------------------------------------------------------ |\n| sendText(text: str, wuid: str) | bool: |\n| deleteMessageFromApp(wuid: str, msgId: str) | bool: | [2.5.0](https://github.com/Ludy87/pyxplora_api/releases/tag/2.5.0) |\n| isAdmin(wuid: str) | bool: |\n| shutdown(wuid: str) | bool: |\n| reboot(wuid: str) | bool: |\n| addStep(step: int) | bool: |\n\n## other\n\n| Function | Result Type | Since Version |\n| --------------------------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------ |\n| getFollowRequestWatchCount() | int: |\n| conv360IDToO2OID(qid: str, deviceId: str) | dict[str, any]: |\n| campaigns(id: str, categoryId: str) | dict[str, any]: |\n| getCountries() | list[dict[str, str]]: |\n| watchesDynamic() | dict[str, any]: |\n| watchGroups(id: str) | dict[str, any]: |\n| familyInfo(wuid: str, watchId: str, tz: str, date: int) | dict[str, any]: |\n| avatars(id: str) | dict[str, any]: |\n| submitIncorrectLocationData(wuid: str, lat: str, lng: str, timestamp: str) | bool: |\n| getAppVersion() | dict[str, any]: |\n| checkEmailOrPhoneExist(type: UserContactType, email: str, countryCode: str, phoneNumber: str) | bool: | [2.2.2](https://github.com/Ludy87/pyxplora_api/releases/tag/2.2.2) |\n| refresh_token(wuid: str, refresh_token: str) | str: | [2.8.0](https://github.com/Ludy87/pyxplora_api/releases/tag/2.8.2) |\n\n---\n\n## Country Support\n\n| country name | country code |\n| -------------------------------------------- | ------------ |\n| Afghanistan | 93 |\n| Albania | 355 |\n| Algeria | 213 |\n| AmericanSamoa | 1 684 |\n| Andorra | 376 |\n| Angola | 244 |\n| Anguilla | 1 264 |\n| Antarctica | 672 |\n| Antigua and Barbuda | 1268 |\n| Argentina | 54 |\n| Armenia | 374 |\n| Aruba | 297 |\n| Australia | 61 |\n| Austria | 43 |\n| Azerbaijan | 994 |\n| Bahamas | 1 242 |\n| Bahrain | 973 |\n| Bangladesh | 880 |\n| Barbados | 1 246 |\n| Belarus | 375 |\n| Belgium | 32 |\n| Belize | 501 |\n| Benin | 229 |\n| Bermuda | 1 441 |\n| Bhutan | 975 |\n| Bolivia, Plurinational State of | 591 |\n| Bosnia and Herzegovina | 387 |\n| Botswana | 267 |\n| Brazil | 55 |\n| British Indian Ocean Territory | 246 |\n| Brunei Darussalam | 673 |\n| Bulgaria | 359 |\n| Burkina Faso | 226 |\n| Burundi | 257 |\n| Cambodia | 855 |\n| Cameroon | 237 |\n| Canada | 1 |\n| Cape Verde | 238 |\n| Cayman Islands | 345 |\n| Central African Republic | 236 |\n| Chad | 235 |\n| Chile | 56 |\n| China | 86 |\n| Christmas Island | 61 |\n| Cocos (Keeling) Islands | 61 |\n| Colombia | 57 |\n| Comoros | 269 |\n| Congo | 242 |\n| Congo, The Democratic Republic of the | 243 |\n| Cook Islands | 682 |\n| Costa Rica | 506 |\n| Cote d'Ivoire | 225 |\n| Croatia | 385 |\n| Cuba | 53 |\n| Cyprus | 357 |\n| Czech Republic | 420 |\n| Denmark | 45 |\n| Djibouti | 253 |\n| Dominica | 1 767 |\n| Dominican Republic | 1 849 |\n| Ecuador | 593 |\n| Egypt | 20 |\n| El Salvador | 503 |\n| Equatorial Guinea | 240 |\n| Eritrea | 291 |\n| Estonia | 372 |\n| Ethiopia | 251 |\n| Falkland Islands (Malvinas) | 500 |\n| Faroe Islands | 298 |\n| Fiji | 679 |\n| Finland | 358 |\n| France | 33 |\n| French Guiana | 594 |\n| French Polynesia | 689 |\n| Gabon | 241 |\n| Gambia | 220 |\n| Georgia | 995 |\n| Germany | 49 |\n| Ghana | 233 |\n| Gibraltar | 350 |\n| Greece | 30 |\n| Greenland | 299 |\n| Grenada | 1 473 |\n| Guadeloupe | 590 |\n| Guam | 1 671 |\n| Guatemala | 502 |\n| Guernsey | 44 |\n| Guinea | 224 |\n| Guinea-Bissau | 245 |\n| Guyana | 595 |\n| Haiti | 509 |\n| Holy See (Vatican City State) | 379 |\n| Honduras | 504 |\n| Hong Kong | 852 |\n| Hungary | 36 |\n| Iceland | 354 |\n| India | 91 |\n| Indonesia | 62 |\n| Iran, Islamic Republic of | 98 |\n| Iraq | 964 |\n| Ireland | 353 |\n| Isle of Man | 44 |\n| Israel | 972 |\n| Italy | 39 |\n| Jamaica | 1 876 |\n| Japan | 81 |\n| Jersey | 44 |\n| Jordan | 962 |\n| Kazakhstan | 7 7 |\n| Kenya | 254 |\n| Kiribati | 686 |\n| Korea, Democratic People's Republic of | 850 |\n| Korea, Republic of | 82 |\n| Kuwait | 965 |\n| Kosovo | 383 |\n| Kyrgyzstan | 996 |\n| Lao People's Democratic Republic | 856 |\n| Latvia | 371 |\n| Lebanon | 961 |\n| Lesotho | 266 |\n| Liberia | 231 |\n| Libyan Arab Jamahiriya | 218 |\n| Liechtenstein | 423 |\n| Lithuania | 370 |\n| Luxembourg | 352 |\n| Macao | 853 |\n| Macedonia, The Former Yugoslav Republic of | 389 |\n| Madagascar | 261 |\n| Malawi | 265 |\n| Malaysia | 60 |\n| Maldives | 960 |\n| Mali | 223 |\n| Malta | 356 |\n| Marshall Islands | 692 |\n| Martinique | 596 |\n| Mauritania | 222 |\n| Mauritius | 230 |\n| Mayotte | 262 |\n| Mexico | 52 |\n| Micronesia, Federated States of | 691 |\n| Moldova, Republic of | 373 |\n| Monaco | 377 |\n| Mongolia | 976 |\n| Montenegro | 382 |\n| Montserrat | 1664 |\n| Morocco | 212 |\n| Mozambique | 258 |\n| Myanmar | 95 |\n| Namibia | 264 |\n| Nauru | 674 |\n| Nepal | 977 |\n| Netherlands | 31 |\n| Netherlands Antilles | 599 |\n| New Caledonia | 687 |\n| New Zealand | 64 |\n| Nicaragua | 505 |\n| Niger | 227 |\n| Nigeria | 234 |\n| Niue | 683 |\n| Norfolk Island | 672 |\n| Northern Mariana Islands | 1 670 |\n| Norway | 47 |\n| Oman | 968 |\n| Pakistan | 92 |\n| Palau | 680 |\n| Palestinian Territory, Occupied | 970 |\n| Panama | 507 |\n| Papua New Guinea | 675 |\n| Paraguay | 595 |\n| Peru | 51 |\n| Philippines | 63 |\n| Pitcairn | 872 |\n| Poland | 48 |\n| Portugal | 351 |\n| Puerto Rico | 1 939 |\n| Qatar | 974 |\n| Romania | 40 |\n| Russia | 7 |\n| Rwanda | 250 |\n| R\u00e9union | 262 |\n| Saint Barth\u00e9lemy | 590 |\n| Saint Helena, Ascension and Tristan Da Cunha | 290 |\n| Saint Kitts and Nevis | 1 869 |\n| Saint Lucia | 1 758 |\n| Saint Martin | 590 |\n| Saint Pierre and Miquelon | 508 |\n| Saint Vincent and the Grenadines | 1 784 |\n| Samoa | 685 |\n| San Marino | 378 |\n| Sao Tome and Principe | 239 |\n| Saudi Arabia | 966 |\n| Senegal | 221 |\n| Serbia | 381 |\n| Seychelles | 248 |\n| Sierra Leone | 232 |\n| Singapore | 65 |\n| Slovakia | 421 |\n| Slovenia | 386 |\n| Solomon Islands | 677 |\n| Somalia | 252 |\n| South Africa | 27 |\n| South Georgia and the South Sandwich Islands | 500 |\n| Spain | 34 |\n| Sri Lanka | 94 |\n| Sudan | 249 |\n| Suriname | 597 |\n| Svalbard and Jan Mayen | 47 |\n| Swaziland | 268 |\n| Sweden | 46 |\n| Switzerland | 41 |\n| Syrian Arab Republic | 963 |\n| Taiwan, Province of China | 886 |\n| Tajikistan | 992 |\n| Tanzania, United Republic of | 255 |\n| Thailand | 66 |\n| Timor-Leste | 670 |\n| Togo | 228 |\n| Tokelau | 690 |\n| Tonga | 676 |\n| Trinidad and Tobago | 1 868 |\n| Tunisia | 216 |\n| Turkey | 90 |\n| Turkmenistan | 993 |\n| Turks and Caicos Islands | 1 649 |\n| Tuvalu | 688 |\n| Uganda | 256 |\n| Ukraine | 380 |\n| United Arab Emirates | 971 |\n| United Kingdom | 44 |\n| United States | 1 |\n| Uruguay | 598 |\n| Uzbekistan | 998 |\n| Vanuatu | 678 |\n| Venezuela, Bolivarian Republic of | 58 |\n| Viet Nam | 84 |\n| Virgin Islands, British | 1284 |\n| Virgin Islands, U.S. | 1340 |\n| Wallis and Futuna | 681 |\n| Yemen | 967 |\n| Zambia | 260 |\n| Zimbabwe | 263 |\n| \u00c5land Islands | 358 |\n\n## Contacts\n\n| sections | mode | type |\n| -------- | ---- | ---- |\n| Contacts | read | list |\n\n---\n\n## Login Account\n\n| sections | mode | type |\n| -------------- | ---------- | ---- |\n| UID | read | str |\n| Username | read | str |\n| Icon | read | str |\n| Xcoin | read | int |\n| current Step | read | int |\n| total Step | read/write | int |\n| time of create | read | str |\n| time of update | read | str |\n\n---\n\n## Watch\n\n| sections | mode | type | comment |\n| -------------------------------- | ---------- | ---- | ----------------------------------------------- |\n| UID | read | str | |\n| Name | read | str | |\n| Xcoin | read | int | |\n| current Step | read | int | |\n| total Step | read | int | |\n| Alarms | read | list | get all/enable/disable - enable all/disable all |\n| Battery | read | int | |\n| Charging | read | bool | |\n| Online Status | read | str | |\n| Unread Msg Count | read | int | ?BUG? Result is always 0 |\n| Chats | read | list | Don't all chats - confused |\n| last locate | read | dict | |\n| locate Type | read | str | GPS/WIFI/CELL |\n| locate now | read | dict | |\n| is in Safezone | read | bool | |\n| Safezone Label | read | str | |\n| Safezone | read/write | list | |\n| track Interval | read | int | |\n| ask Watch Locate | read | bool | |\n| silents | read | list | get all/enable/disable - enable all/disable all |\n| sendText | read | bool | sender: logged User |\n| shutdown | read | bool | only admins |\n| reboot | read | bool | only admins |\n| check exist Email or Phonenumber | read | bool | no login required |\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python Xplora\u00ae Api",
"version": "2.12.9",
"project_urls": {
"Bug Tracker": "https://github.com/Ludy87/pyxplora_api/issues",
"Homepage": "https://github.com/Ludy87/pyxplora_api"
},
"split_keywords": [
"api",
"xplora",
"watch"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1539b697ef5627ad0726d184dc6fa299c9e9e1d89f1f20c06023f5a203c950d5",
"md5": "9a480d98f3b4c9fa7be4f94d01276bdf",
"sha256": "6ac7508446de94dd5c8d0958caf82819d7d7f8e238a9502c8f09e07144be1654"
},
"downloads": -1,
"filename": "pyxplora_api-2.12.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9a480d98f3b4c9fa7be4f94d01276bdf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 54038,
"upload_time": "2024-06-08T10:11:42",
"upload_time_iso_8601": "2024-06-08T10:11:42.509044Z",
"url": "https://files.pythonhosted.org/packages/15/39/b697ef5627ad0726d184dc6fa299c9e9e1d89f1f20c06023f5a203c950d5/pyxplora_api-2.12.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8249c9c428150329d5ce21dcc6837c2d75331f10f181aa2941db1be2814ce3d2",
"md5": "151e954d54d082cad3bf4a5822d64dba",
"sha256": "496885fd6029db280d23b3233d915517c8a2120bcbbfd9ddaf4ec5884f1bf86d"
},
"downloads": -1,
"filename": "pyxplora_api-2.12.9.tar.gz",
"has_sig": false,
"md5_digest": "151e954d54d082cad3bf4a5822d64dba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 57733,
"upload_time": "2024-06-08T10:11:45",
"upload_time_iso_8601": "2024-06-08T10:11:45.407999Z",
"url": "https://files.pythonhosted.org/packages/82/49/c9c428150329d5ce21dcc6837c2d75331f10f181aa2941db1be2814ce3d2/pyxplora_api-2.12.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-08 10:11:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Ludy87",
"github_project": "pyxplora_api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pyxplora-api"
}