RN SDK API

Once the food detection process has returned a PassioID, it is time to query the database and see what information Passio has on the detected food.

The most detailed information can be found in the PassioIDAttributes object. To retrieve this object from a given PassioID or name or barcode or ocrCode and searchQuery.

  /**
   * Look up the nutrition attributes for a given Passio ID.
   * @param passioID - The Passio ID for the attributes query.
   * @returns A `Promise` resolving to a `PassioIDAttributes` object if the record exists in the database or `null` if not.
   */
  getAttributesForPassioID(
    passioID: PassioID
  ): Promise<PassioIDAttributes | null>

  /**
   * Query Passio's UPC web service for nutrition attributes of a given barcode.
   * @param barcode - The barcode value for the attributes query, typically taken from a scanned `BarcodeCandidate`.
   * @returns A `Promise` resolving to a `PassioIDAttributes` object if the record exists in the database or `null` if not.
   */
  fetchAttributesForBarcode(
    barcode: Barcode
  ): Promise<PassioIDAttributes | null>

  /**
   * Query Passio's web service for nutrition attributes given an package food identifier.
   * @param packagedFoodCode - The code identifier for the attributes query, taken from the list of package food candidates on a `FoodDetectionEvent`.
   * @returns A `Promise` resolving to a `PassioIDAttributes` object if the record exists in the database or `null` if not.
   */
  fetchPassioIDAttributesForPackagedFood(
    packagedFoodCode: PackagedFoodCode
  ): Promise<PassioIDAttributes | null>

  /**
   * Search the local database of foods with a given search term.
   * @param searchQuery - The search term to match against food item names.
   * @returns A `Promise` resolving to an array of food item names.
   */
  searchForFood(searchQuery: string): Promise<FoodSearchResult[]>

  convertUPCProductToAttributes(
    product: UPCProduct,
    entityType: PassioIDEntityType
  ): Promise<PassioIDAttributes | null>

  /**
   * This method indicating downloading file status if model download from passio server.
   * @param callback - A callback to receive for dowloading file lefts from queue.
   * @param callback - A callback to receive dowload file failed for some reason.
   * @returns A `Callback` that should be retained by the caller while dowloading is running. Call `remove` on the callback to terminate listeners and relase from memory.
   */
  onDowloadingPassioModelCallBacks: (
    downloadModelCallBack: DownloadModelCallBack
  ) => Callback

  /**
   * This method detect food from image uri.
   * @param imageUri - The image uri to detect food.
   * @returns A `Promise` resolving to a `FoodCandidates` object if the record exists in the database or `null` if not.
   */
  detectFoodFromImageURI(imageUri: string): Promise<FoodCandidates | null>

  /**
   * This method adds personalized alternative to local database.
   * Status: This method is experimental and only available in the iOS SDK.
   * @param personalizedAlternative - The personalized alternative to add.
   * @returns A `boolean` value indicating if the personalized alternative was added successfully.
   */
  addToPersonalization(
    personalizedAlternative: PersonalizedAlternative
  ): boolean

  /**
   * This method fetches tags for a given Passio ID.
   * @param passioID - The Passio ID for the tags query.
   * @returns A `string` array of tags if the record exists in the database or `null` if not.
   */
  fetchTagsForPassioID(passioID: PassioID): Promise<string[]>

  /**
   * fetch a map of nutrients for a 100 grams of a specific food item
   * @param passioID - The Passio ID for the attributes query.
   * @returns A `Promise` resolving to a `PassioNutrient` object if the record exists in the database or `null` if not.
   */
  fetchNutrientsFor(passioID: PassioID): Promise<PassioNutrient[] | null>

If at any point you need help from the Passio team, please reach out to us at support@passiolife.com

Last updated