-
-
Save teroka/0720274b87b77fe7171f to your computer and use it in GitHub Desktop.
#!/usr/bin/env python | |
# Quick script to check your Dell asset's warranty status | |
# Just drop your service tag as parameters for the script and go. | |
import sys | |
import requests | |
APIKEY = 'd676cf6e1e0ceb8fd14e8cb69acd812d' | |
URL = 'https://api.dell.com/support/v2/assetinfo/warranty/tags.json?svctags={0}&apikey=' + APIKEY | |
def get_warr_from_dell(svctag): | |
res = requests.get(URL.format(svctag)) | |
if res.status_code != 200: | |
sys.stderr.write('[%s] Caught %i as the response code.\n' % (svctag, res.status_code)) | |
sys.stderr.write('[%s] Unable to get details for given service tag.\n' | |
% svctag) | |
return False | |
fault = res.json['GetAssetWarrantyResponse']['GetAssetWarrantyResult']['Faults'] | |
if fault is not None: | |
sys.stderr.write("[%s] Failed to find details. Sure it's a valid TAG?\n" % svctag ) | |
return False | |
asset = res.json['GetAssetWarrantyResponse']['GetAssetWarrantyResult']['Response']['DellAsset'] | |
model = asset['MachineDescription'] | |
ent = asset['Warranties']['Warranty'] | |
shipped = asset['ShipDate'] | |
print 'Service Tag: ', svctag | |
print ' Model: ', model | |
print ' Shipped: ', shipped, '\n' | |
print '{0:<20} {1:>15}'.format(*('Warranty Ends','ServiceLevelDescription')) | |
for warr in [(d['EndDate'],d['ServiceLevelDescription']) for d in ent]: | |
print '{0:<20} {1:>15}'.format(*warr) | |
if __name__ == '__main__': | |
get_warr_from_dell(sys.argv[1]) | |
sys.exit() |
Thank you for mentioning. I tried it now and it succeeded.
I gave up and forgot for a long time.@ShortArrow succeeded for a what level, what did you accomplished? any errors? 404s?
It means that I was able to log in to https://developer.dell.com/. I couldn't do it at that time, so I gave up and left it.
@ShortArrow So in 2021 you was able to:
- log in to https://developer.dell.com/
- tried it now and it succeeded
I am asking how tried it now and it succeeded? Are you saying that you couldn't get the data by using a correct service tag that time and 2021 but in 2021 you were finally able to login? Am I correct?
Also did you saw this?
- Write password and email.
- A few digits code will be sent by email.
- Enter the code.
- Finish the login.
I couldn't do just this on 14 Jan 2020, Due to a server error.
Thank you for mentioning. I tried it now and it succeeded.
I gave up and forgot for a long time.@ShortArrow succeeded for a what level, what did you accomplished? any errors? 404s?
It means that I was able to log in to https://developer.dell.com/. I couldn't do it at that time, so I gave up and left it.
@ShortArrow So in 2021 you was able to:
- log in to https://developer.dell.com/
- tried it now and it succeeded
I am asking how tried it now and it succeeded? Are you saying that you couldn't get the data by using a correct service tag that time and 2021 but in 2021 you were finally able to login? Am I correct?
Also did you saw this?
- Write password and email.
- A few digits code will be sent by email.
- Enter the code.
- Finish the login.
I couldn't do just this on 14 Jan 2020, Due to a server error.
- And you couldn't get a API key?
- You used the script to its full usage?
- You understand the script?
- Isn't the key on the script work?
- Is the script correct?
Ok I'll try it. please wait.
@Gomesz785 Wow, unfortunately it failed. My test result is here.
The code is a bit modified from the one at the top of the thread. Added parentheses for print statements.
(dell) PS C:\Users\who\Documents\GitHub\dell-warranty> python .\dell_warranty.py 6G331Y2
[6G331Y2] Caught 404 as the response code.
[6G331Y2] Unable to get details for given service tag.
(dell) PS C:\Users\who\Documents\GitHub\dell-warranty> python .\dell_warranty.py 6g331y2
[6g331y2] Caught 404 as the response code.
[6g331y2] Unable to get details for given service tag.
(dell) PS C:\Users\who\Documents\GitHub\dell-warranty> conda list
# packages in environment at C:\tools\miniconda3\envs\dell:
#
# Name Version Build Channel
black 21.9b0 pypi_0 pypi
ca-certificates 2021.7.5 haa95532_1
certifi 2021.5.30 py39haa95532_0
charset-normalizer 2.0.6 pypi_0 pypi
click 8.0.1 pypi_0 pypi
colorama 0.4.4 pypi_0 pypi
idna 3.2 pypi_0 pypi
mypy-extensions 0.4.3 pypi_0 pypi
openssl 1.1.1l h2bbff1b_0
pathspec 0.9.0 pypi_0 pypi
pip 21.2.4 py38haa95532_0
platformdirs 2.4.0 pypi_0 pypi
python 3.9.7 h6244533_1
regex 2021.9.30 pypi_0 pypi
requests 2.26.0 pypi_0 pypi
setuptools 58.0.4 py39haa95532_0
sqlite 3.36.0 h2bbff1b_0
tomli 1.2.1 pypi_0 pypi
typing-extensions 3.10.0.2 pypi_0 pypi
tzdata 2021a h5d7bf9c_0
urllib3 1.26.7 pypi_0 pypi
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.37.0 pyhd3eb1b0_1
wincertstore 0.2 py39haa95532_2
(dell) PS C:\Users\who\Documents\GitHub\dell-warranty>
For vscode debugging ,.vscode\launch.json
settings are shown below.
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"args": ["1111111"] // your service tag
}
]
}
Thank you!
Thank you!
You were able to use this?
Go to https://developer.dell.com/, create a key, and wait forever for them to approve it. I requested mine over 2 months ago, contacted them twice and got nothing. Dell is such a terrible company.
I decrypted and released their API key in the QRL app for android and soon after, received a DMCA complaint, forcing me to privatize the repository.
@ShortArrow So in 2021 you was able to:
I am asking how tried it now and it succeeded?
Are you saying that you couldn't get the data by using a correct service tag that time and 2021 but in 2021 you were finally able to login? Am I correct?
Also did you saw this?