Exemples de requêtes

Changer votre région

Beaucoup de nos partenaires distributeurs proposent des niveaux de stock différents selon le pays de l’utilisateur. Par défaut, l’API utilise les États-Unis et l’USD pour le pays et la devise, mais ces valeurs peuvent être remplacées afin d’obtenir des résultats plus adaptés à votre région.

Comparez la requête pour la Grande-Bretagne :

query GBMatch {
  supMultiMatch(
    country: "GB"
    currency: "GBP"
    queries: [{ mpn: "AR 32 HZL-TT", limit: 3 }]
  ) {
    parts {
      sellers(authorizedOnly: true) {
        company {
          name
        }
        offers {
          inventoryLevel
        }
      }
    }
  }
}

... avec la requête aux États-Unis : 

query USMatch {
  supMultiMatch(
    queries: [{ mpn: "AR 32 HZL-TT", limit: 3 }]
  ) {
    parts {
      sellers(authorizedOnly: true) {
        company {
          name
        }
        offers {
          inventoryLevel
        }
      }
    }
  }
}

Dans ce cas, ce jour-là précisément, 1 370 pièces étaient disponibles pour expédition vers la Grande-Bretagne. Toutefois, aux États-Unis, les utilisateurs ne verraient que 300 pièces disponibles.

De nombreux distributeurs expédient vers plusieurs pays ou ne segmentent pas leur stock par pays ; par conséquent, le pays et la devise saisis ne sont pas utilisés comme filtre strict.

Les codes pays suivent la norme ISO 3166 (alpha-2) ; les codes devise suivent la norme ISO 4217. 

Correspondance exacte de MPN avec des fournisseurs spécifiques

En utilisant la requête SupMultiMatch :

query MultiMatch {
  supMultiMatch(
    queries: [{mpn: "FH12-5S-1SH(55)", limit: 2}]
    options: {filters: {distributor_id: ["459", "1106", "2401", "2628", "2454", "3261", "12947"]}}
  ) {
    hits
    parts {
      mpn
      name
      sellers {
        company {
          name
        }
        offers {
          prices {
            price
            currency
          }
        }
      }
    }
  }
}

Notez que cela filtrera les pièces vendues par le(s) distributeur(s) spécifié(s). La liste des distributeurs est disponible ici. Si d’autres distributeurs vendent également cette pièce, ils seront aussi listés. Vous pourrez toujours les exclure lors de votre traitement si vous le souhaitez.

Au lieu de l’ID d’entreprise, par ex. « 459 », vous pouvez indiquer le nom de l’entreprise, par ex. « Digi-Key ». Voici un exemple :

query MultiMatch {
  supMultiMatch(
    queries: [{mpn: "FH12-5S-1SH(55)", limit: 2}]
    options: {filters: {distributor_id: ["Digi-Key"]}}
  ) {
    hits
    parts {
      mpn
      name
      sellers {
        company {
          name
        }
        offers {
          prices {
            price
            currency
          }
        }
      }
    }
  }
}

Pièces provenant de vendeurs avec informations de prix

Voici un exemple de requête que vous pouvez utiliser dans votre IDE :

query FindPrices {
  supSearch(q: "AEC-Q100", limit: 3) { 
    results {
      part {
        mpn
        manufacturer {
          name
        }
        sellers(includeBrokers: false) {
          company {
            name
          }
          offers {
            clickUrl
            inventoryLevel
            prices{
              price
              currency
              quantity
            }
          }
        }
      }
    }
  }
}

Correspondance exacte de pièce

La requête supMultiMatch vous permet de saisir plusieurs MPN afin de récupérer des données et recherche une correspondance exacte pour chacun d’eux.

query MatchParts {
  supMultiMatch(queries: [{mpn: "G3VM-101PR"}]) {
    hits
    reference
    parts {
      id
      slug
      mpn
      manufacturer {
        name
      }
    }
  }
}

Filtrer les pièces en stock

Lors de la recherche, vous pouvez préciser que seules les pièces en stock doivent être incluses. Par exemple :

supSearch(q: "LM339", limit: 1, inStockOnly: true) { ... }

Si vous définissez ce filtre sur true, les pièces ayant no stock at all sont exclues. Si une pièce dispose d’un stock chez un seul distributeur, elle est considérée comme étant en stock et renvoyée dans les résultats de la requête.

Ce filtrage ne tient pas compte du stock des distributeurs — il s’applique au niveau de la pièce.

Voici un exemple que vous pouvez essayer. Cette requête recherche AEC-Q100 avec une pagination start page de 5, et inStockOnly défini sur true :

query in_stock_filter{
  supSearch(q: "AEC-Q100", start: 5, inStockOnly: true) { 
    results {
      
      part {
        mpn
        manufacturer {
          name
        }
        sellers(includeBrokers: false) {
          company {
            name
          }
        }
      }
    }
  }
}

Renvoi de MPN inattendus

Lors d’une recherche ou d’une correspondance, il arrive parfois que des pièces supplémentaires soient trouvées lorsque les MPN ne diffèrent que par des caractères non alphanumériques, tels que - ou ..

Par exemple, considérons une requête supMultiMatch pour le MPN suivant : Cette requête peut renvoyer plusieurs MPN comme ASV-18.432MHZ-EJ-T ainsi que ASV-1.8432MHZ-E-J-T (et d’autres).

Ce comportement est dû à la manière dont les pièces sont « tokenisées » pour l’indexation dans le moteur de recherche elastic.

Les MPN sont découpés en tokens, en ignorant les caractères spéciaux (par ex., CV 3-200/SPG peut devenir `CV`, `3200`, `SPG`).

La correspondance est ensuite effectuée à l’aide de trigrammes (combinaisons de trois lettres). La recherche doit correspondre entièrement à un MPN tokenisé, mais les correspondances partielles dépendent des trigrammes. Par exemple :

  • Match: "CV 3-20", "CV 320", "00 SPG" - Each part aligns with at least one full token

  • No Match: "CV 3", "CV 3-", "CV 32" - No part of these aligns with any token

Si une correspondance exacte caractère par caractère est requise, l’application cliente doit comparer les MPN renvoyés à l’entrée fournie, puis filtrer les résultats après la réponse.

Utilisation des caractères génériques

Parfois, une recherche par numéro de pièce partiel renvoie trop de pièces, ou vous avez des exigences spécifiques pour la correspondance des numéros de pièce. Dans ces cas, vous pouvez utiliser des caractères génériques pour affiner votre recherche.

  • Le caractère * correspond à n’importe quelle séquence de caractères (y compris zéro caractère).

  • Le caractère ? correspond à n’importe quel caractère unique.

Les caractères génériques peuvent être utilisés n’importe où dans un numéro de pièce. Les utiliser pour rechercher le milieu d’un numéro de pièce est inutile — des caractères génériques en début et en fin sont ajoutés automatiquement. Par exemple, *74LS25* renvoie les mêmes résultats que 74LS25.

Si vous ajoutez un ou plusieurs caractères génériques à un terme, aucun autre caractère générique n’est ajouté automatiquement. Cela peut être utilisé pour effectuer des recherches par préfixe. Par exemple, lv40 trouve les pièces qui contiennent lv40 n’importe où dans le numéro de pièce, tandis que lv40* ne trouve que les pièces qui commencent par lv40.

Notez qu’une recherche sur lv40* renverra des pièces telles que lv-4000 en raison de la manière dont certains caractères non alphanumériques, tels que - ou ., sont traités par le moteur de recherche.

Délai d’approvisionnement usine pour les pièces

Il existe deux champs que vous pouvez interroger dans l’API.

  1. factoryLeadDays sur SupOffer renvoie le nombre de jours nécessaires pour obtenir des pièces auprès de l’usine.

  2. estimatedFactoryLeadDays sur SupPart renvoie le délai d’approvisionnement usine estimé en jours, dérivé d’offres de distributeurs de confiance.

Voici un exemple de requête pour les vendeurs agréés :

query LeadDaysSearch {
  supSearch(q: "IRL3803STRLPBF", limit: 2) {
    results {
      part {
        mpn
        estimatedFactoryLeadDays
        sellers(authorizedOnly: true) {
          offers {
            factoryLeadDays
          }
        }
      }
    }
  }
}

Pièces similaires

Lors de la recherche ou de la mise en correspondance de pièces, vous pouvez demander le renvoi de similarParts. Il s’agit de pièces identifiées par Nexar comme similaires en termes de spécifications et de fonctionnalité. Voici un exemple de requête :

query SimilarParts {
  supSearch(q: "LM339MX", limit: 1) {
    hits
    results {
      part {
        id
        mpn
        name
        manufacturer { name }
        similarParts {
          id
          mpn
          manufacturer { name }
        }
      }
    }
  }
}

 

AI-LocalizedLocalisé par IA
Si vous trouvez un problème, sélectionnez le texte/l’image et appuyez surCtrl + Entréepour nous envoyer vos commentaires.
Contenu