snipe / snipe-it

A free open source IT asset/license management system
https://snipeitapp.com
GNU Affero General Public License v3.0
11k stars 3.17k forks source link

Support external warranty check APIs #7326

Closed benwa closed 1 year ago

benwa commented 5 years ago

Sometimes warranties can change on an asset, or be unknown to a person inputting an asset at creation.

Many enterprise manufacturers offer the ability to check the warranty dates and levels based on an API query. By supporting those APIs (and requiring each instance to supply their own key), this can greatly reduce the amount of manual work it is to update an asset.

This can be done externally, and then written to Snipe-IT via its API or via writing to the database.

Here's a list of manufacturer warranty APIs I've found:

stale[bot] commented 5 years ago

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

benwa commented 5 years ago

This is still relevant

On Tue, Oct 1, 2019, 14:01 stale[bot] notifications@github.com wrote:

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/snipe/snipe-it/issues/7326?email_source=notifications&email_token=AAKJ7EYSB6ROBJHJXYWCKBLQMONAHA5CNFSM4IJAAUAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEACL34I#issuecomment-537181681, or mute the thread https://github.com/notifications/unsubscribe-auth/AAKJ7E27YNNVOT2VBL3HMYDQMONAHANCNFSM4IJAAUAA .

stale[bot] commented 5 years ago

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

Laim commented 5 years ago

Agreed. We've been looking for an asset tool that has the ability to pull warranty information without costing an arm and a leg, this would be a massive advantage for me pushing for Snipe-IT internally.

stale[bot] commented 4 years ago

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

chelming commented 4 years ago

This is still relevant

stale[bot] commented 4 years ago

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

JohnBlunden commented 4 years ago

I would love this as a feature as well.

stale[bot] commented 4 years ago

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

benwa commented 4 years ago

This is still relevant

On Sun, Feb 16, 2020, 05:17 stale[bot] notifications@github.com wrote:

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/snipe/snipe-it/issues/7326?email_source=notifications&email_token=AAKJ7E4UQ4DLYLPSI5OYLS3RDEOEXA5CNFSM4IJAAUAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL4D6JQ#issuecomment-586694438, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKJ7EZHQPWPTYJJ72JQTZDRDEOEXANCNFSM4IJAAUAA .

stale[bot] commented 4 years ago

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

54656452 commented 4 years ago

This would be incredibly useful if implemented.

rovingrambler commented 4 years ago

Related issue. We would really like to push asset status to an API and ideally updating snipe it with a confirmation. The logic of this seems very similar to what has been requested here.

Especially if you kept it vague and simply provide a box or execute all in a directory where we could put our scripts. We could then write an external push and internal one putting whatever results we are after where we want them.

Could be used for warranty status or anything else.

stale[bot] commented 4 years ago

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

benwa commented 4 years ago

This is still relevant

On Sat, Apr 25, 2020, 00:50 stale[bot] notifications@github.com wrote:

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/snipe/snipe-it/issues/7326#issuecomment-619326544, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKJ7EY43WYTBV76XPFJ47LROJ22LANCNFSM4IJAAUAA .

stale[bot] commented 4 years ago

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

rovingrambler commented 4 years ago

I've been working around it with other systems apis but absolutely still a crucial feature.

As mentioned previously I think an ability to send a json string would be more useful than warranty specific function. It could accomplish a warranty check and much more.

Apr 25, 2020 9:06:11 AM stale[bot] notifications@github.com:

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know! — You are receiving this because you commented. Reply to this email directly, view it on GitHub [https://github.com/snipe/snipe-it/issues/7326#issuecomment-619376947] , or unsubscribe [https://github.com/notifications/unsubscribe-auth/AHGI6X4Z4UIMJXRXXM7ZVZDROLN35ANCNFSM4IJAAUAA] . [https://github.com/notifications/beacon/AHGI6X5DPDH25NW2W35YTGLROLN35A5CNFSM4IJAAUAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOETVPCMY.gif]

viclou commented 4 years ago

+1 FD15527

z3m0n commented 4 years ago

Just to keep this thread from going stale again, we are definitely looking for this feature, also. I suppose we could script it the hard way, but built-in functionality would be a huge plus.

mikey-m commented 4 years ago

This would be incredibly useful if implemented. Perhaps a connection to warrantymaster.com may be appropriate.

AMG-90 commented 4 years ago

there is anything like that ? anyone knows ?

stale[bot] commented 4 years ago

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

benwa commented 4 years ago

Yup

On Sat, Sep 19, 2020, 22:49 stale[bot] notifications@github.com wrote:

Is this still relevant? We haven't heard from anyone in a bit. If so, please comment with any updates or additional detail. This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Don't take it personally, we just need to keep a handle on things. Thank you for your contributions!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/snipe/snipe-it/issues/7326#issuecomment-695644129, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKJ7E3X56LEKVUUR5CHBPTSGV3VJANCNFSM4IJAAUAA .

stale[bot] commented 4 years ago

Okay, it looks like this issue or feature request might still be important. We'll re-open it for now. Thank you for letting us know!

kristofkeppens commented 3 years ago

+1 interested in this as well!

aarnold-sd68 commented 3 years ago

This would be great to have, any progress on this?

Ng-marelec commented 3 years ago

+100 for this idea!

Maybe a good idea to have a look at how similar tools like GoGenuity have this built in? We actually were researched GoGenuity before choosing SnipeIT for this reason, but SnipeIT has better overall features.

WELLBOREIS commented 3 years ago

+1

TheZachAttack01 commented 3 years ago

+1 would love to have dell warranty info lookup based on serial number

JKC1993 commented 3 years ago

+1 please do this!!!!

TechTucson commented 3 years ago

Interested as well.

vaneess commented 3 years ago

+1 Lenovo and Microsoft (Surface) Lenovo has a working API, Microsoft probably not, you have to enter a captcha... https://mybusinessservice.surface.com/en-US/CheckWarranty/CheckWarranty

allanPHD commented 2 years ago

+1

Rieski commented 2 years ago

+1 This would be crucial

JemTaylorUHI commented 2 years ago

In the same vein, it would be incredibly useful to check for End of Manufacturer Support for the Model. This is important for cybersecurity compliance checking, and I have already asked for Custom Fields on Model just to be able to record EOS. If we could just have the Manufacturer/Model combination just go look itself up for EOS that would be doubly incredibly awesome!

d3m0nz commented 2 years ago

Yes please

Anatharias commented 2 years ago

Two years this has been opened, and none has been done about this. any update ?

snipe commented 2 years ago

@Anatharias Obviously not, but we welcome your pull request.

JustinGGoodwin commented 2 years ago

This would be enormous for us. Even bigger for Snipe-IT and would make them compete with the big boys like Solarwinds, etc.

snipe commented 2 years ago

We already do this for Apple devices. We’d need the URLS and expected parameters to be passed in order to generate them for other suppliers.

JustinGGoodwin commented 2 years ago

We already do this for Apple devices. We’d need the URLS and expected parameters to be passed in order to generate them for other suppliers.

Let me know how I can help. We buy from Dell currently. I can get our rep involved as well.

snipe commented 2 years ago

I can't see this being a huge priority for us tbh, as it requires a lot of overhead to store individual API keys for each of these APIs, and also the ability to map the proprietary responses from their APIs, and means we have to add a lot of stuff to the codebase that many people will never use.

We could potentially add this as optional fields (API key, parameters) to the manufacturer (or supplier?) table, but parsing each one of these private API responses is a lot of code that's tied to commercial manufacturers, which we generally try to avoid, in the spirit of FOSS. We do provide a link to Apple's coverage checker, but it's just a link, not full API parsing.

JustinGGoodwin commented 2 years ago

Ok thanks. We'll look into other solutions that are doing it currently. Appreciate the feedback.

mikey-m commented 2 years ago

I see this as extraordinarily valuable feature. It will help report on replacement cycles and help leaders make decisions and forecast budgets more quickly and easily. Perhaps instead of individual API's - Use a central one such as Warranty Master, where all that individual work is already done. Food for thought.

snipe commented 2 years ago

Where exactly would that central API come from? These are disparate companies. Their API responses will be different, and subject to change.

Rieski commented 2 years ago

I also feel that is crucial to have at least Lenovo, Dell, HP and Apple to fetch warranty dates automatically. Cannot do any kind of life cycle management without it.

mikey-m commented 2 years ago

Warranty Master is the only centralised product that dovetails all the commons vendors that I know of, simply an idea.

Perhaps focus on Apple, HP, Dell, Lenovo only.

snipe commented 2 years ago

I'm not ruling it out, but it's unlikely we would build this in, TBH. These are hundreds of lines of code, payload parsing, testing, etc to handle a small percentage of users. (And we don't use those those brands, so we'd need to maintain API keys for testing, and so on.)

vaneess commented 2 years ago

we work with this script https://github.com/KelvinTegelaar/PowerShellWarrantyReports

i created a scheduled task, which runs every day. it connects to snipe via API (https://github.com/snazy2000/SnipeitPS) and gets all devices which where created today, then starts the warranty lookup. it works for lenovo and some microsoft devices. apple doesn't work at the moment.


import-module -Name SnipeITPS
import-module -Name PSWarranty
Connect-SnipeitPS -URL "url" -apikey "key"

#get date of today
$filterdate = (get-date).AddDays(-1)
$filterdate = get-date $filterdate -format "yyyy-MM-dd"

#get all assets from category "notebook"
$assets = Get-SnipeitAsset -category_id 2 -all | Where-Object {$_.created_at.datetime -gt $filterdate}

#loop trough each found asset
foreach ($notebook in $assets)
{
    #reset variables
    $warranty = $null
    $warrantytime = $null 
    $days = $null
    $manufacturer = $notebook.manufacturer

    switch ($manufacturer)
    {
        Microsoft {$vendor = "MS"}
        Lenovo {$vendor = "Lenovo"}
        Dell {$vendor = "Dell"}
        HP {$vendor = "HP"}

    }
    #get warranty of notebook
    $warranty = Get-Warrantyinfo -DeviceSerial $notebook.serial -vendor $vendor

    #if lookup was sucessfull set the information on the assset (check if warranty is 24 or 36 months)
    if($warranty.enddate)
    {
        #write-host $notebook.name $notebook.model.name $warranty.Serial $warranty.StartDate $warranty.EndDate -ForegroundColor Green
        $warrantytime = New-TimeSpan -start $warranty.StartDate -End $warranty.EndDate
        $days = $warrantytime.Days

        if($days -ge 366 -and $days -le 792)
        {
            Set-SnipeitAsset $notebook.id -purchase_date $warranty.StartDate -warranty_months 24 | out-null
        }
        elseif($days -gt 792)
        {
                Set-SnipeitAsset $notebook.id -purchase_date $warranty.StartDate -warranty_months 36 | out-null
        }
    }

    else
    {
        #write-host $notebook.name $notebook.model.name $warranty.Serial $warranty.StartDate $warranty.EndDate -ForegroundColor Yellow
    }         

}
GitHub
GitHub - KelvinTegelaar/PowerShellWarrantyReports: a repo dedicated to automatic warranty reporting and retrieval from different systems such as IT-Glue, Connectwise, Autotask, and N-central.
a repo dedicated to automatic warranty reporting and retrieval from different systems such as IT-Glue, Connectwise, Autotask, and N-central. - GitHub - KelvinTegelaar/PowerShellWarrantyReports: a r...
GitHub
GitHub - snazy2000/SnipeitPS: Powershell API Wrapper for Snipe-it
Powershell API Wrapper for Snipe-it. Contribute to snazy2000/SnipeitPS development by creating an account on GitHub.
Anatharias commented 2 years ago

I'm not ruling it out, but it's unlikely we would build this in, TBH. (...) to handle a small percentage of users.

You created an inventory solution for IT reps, for them to track their assets, assets mostly composed of Lenovo, Dell, HP and Apple products. I find it hard to believe that only "a small percentage of users" would benefit from having the warranty information automatically fetched. While I do appreciate the extra work that would be required (and I'm no coder), for creating/maintaining the code that would query the warranty info from the different vendors through their respective APIs, don't think for a single second that it would only serve a small percentage of users.

This would be incredibly useful if implemented.

+1 would love to have dell warranty

This would be enormous for us.

I see this as extraordinarily valuable feature.

The broad opinion in this thread shows that not a single user would find the warranty information irrelevant.

Edit: I manually fetch my Dell warranty through an AppleScript and a pasted {clip}... time-consuming.

{/AppleScript
do shell script "open -a Safari 'https://www.dell.com/support/home/en-ca/product-support/servicetag/{clip}'"
}