partNumber to product name mapping

Does anyone have a full listing of the partNumber to product name mapping?

I would like to display on my Watch Face the product name, for example "Epix Pro Gen 2".

At the moment I display the partNumber in the on-watch setting, using System.getDeviceSettings().partNumber.

I use this to ask them what watch they have if they have an issue, or need guidance on how to use the on-watch settings.
I would prefer to show in the on-watch settings the product name rather than the part number.
  • https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes

    It's the API request used by the Compatible Devices tab for apps in the Connect IQ store website.

    Not only will it show you the product name, but it will usually let you know if a variant is APAC or not [e.g. the urlName value will include "asia" or "apac"]. It's especially useful for devices which have additional part numbers for "special" variants beyond WW vs. APAC (such as venu 2 mercedes benz in the venu2 device, or tactix 7 in the fenix7x device), where it would be impractical to guess which exactly which variant is being referred to by a given part number.

    Additionally, urlName can be used to construct a URL for the Connect IQ store website that only shows apps for that part number.

    1) Use this URL as a template:

    [https://apps.garmin.com/devices/forerunner935/apps]

    [Obtained by googling "forerunner 935 apps" and removing "en-US/" from the resulting url]

    2) Substitute a given part number's urlName for forerunner935

    e.g.

    {
        "id": "310",
        "partNumber": "006-B4532-00",
        "name": "fēnix® 8 Solar (47mm)",
        "additionalNames": ["fēnix® 8 Dual Power (47mm)"],
        "imageUrl": "https://res.garmin.com/en/products/010-02906-10/v/rf-sm.jpg",
        "urlName": "fenix8s-47mm"
    }

    The store url for fenix 8S (47mm) is:

    https://apps.garmin.com/devices/fenix8s-47mm/apps

    Note that some part numbers still map to multiple product names, and they're not all "trivial" variants. e.g. Fenix 7X and Quatix 7X have the same part number:

    {
        "id": "225",
        "partNumber": "006-B3907-00",
        "name": "fēnix® 7X",
        "additionalNames": ["fēnix® 7X - Solar Edition", "fēnix® 7X– Sapphire Solar Edition", "quatix® 7X – Solar Edition"],
        "imageUrl": "https://static.garmincdn.com/en/products/010-02541-11/v/sc-03-sm-cd878574-7789-4323-a2f2-1acebcff5f36.jpg",
        "urlName": "fenix7X"
    }

    Enduro 2 was supposedly changed to have the same part number as fenix 7X, but for the purposes of the store, it's still a separate part number. [This is a very long story, but let's just say that for a couple of months. it was impossible to download apps for Enduro 2]

  • Having said all that:

    - shouldn't the user know their own device name?

    - if you need more precision than what you'd expect from the average user, maybe using the part number is actually the right to go, idk

  • Well, yes in principle, but you would be surprised!

  • This is good, I will convert it to a python UI to make it easier to use

  • The frustrating thing for me is that Garmin absolutely does not document anything around these (software) part numbers, even though they're a pretty integral part of the CIQ ecosystem. I think the average's devs first exposure to the concept arises when something goes wrong (e.g. when APAC devices are excluded from the build due to a too-high minApiLevel in manifest.xml or incorrect selection of languages.)

  • Well, yes in principle, but you would be surprised!

    Probably not, but I just wonder if displaying a friendly name will actually be any better than displaying the part number. If a friendly name is displayed, doesn't that increase the chance that the user will make some mistake when relaying it to you? e.g. Maybe they see "Fenix 7S" but they tell you "Fenix 7" instead.

    Otoh, if you just display a part number, which looks like a completely meaningless string of letters and numbers to users (and to us devs), seems like they might be more careful about it about copying it exactly when they send it to you.

  • I've been looking for a way to get the product name!  You can easily get the product number directly but not the product name apparently.  I wish there was an easier way to do this, to not have to call a POST API to get them.