Created
November 8, 2014 19:38
-
-
Save teroka/0720274b87b77fe7171f to your computer and use it in GitHub Desktop.
Dell API: Warranty Information
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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() |
@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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@Gomesz785
Ok I'll try it. please wait.