{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"5da3c0ca-ab84-47c1-9bea-cd8cfeba6f7b","name":"Preferabli Integration Documentation","description":"**This collection is a reference for the Preferabli web integration API. As the API is enhanced and updated, this documentation will also be updated.**\n\nIf you need any help, please do not hesitate to contact us at [api_support@preferabli.com](mailto:api_support@preferabli.com)\n\n* * *\n\n# Overview\n\nThe Preferabli integration API enables a company to integrate certain Preferabli functionalities into their website, such as Like That, Try This, User Integrations, User Ratings and Personalized Recommendations.\n\nThe authentication uses OAuth2 for customer integrations and relies on private keys and tokens which must be obtained from your account representative.\n\nThe API is based on REST principles - you can consume this API through any HTTP client in any programming language.\n\n* * *\n\n# Design Assets\n\nDesign assets and style guidelines for 'Powered by Preferabli' integrations can be found at [https://brand.preferabli.com](https://brand.preferabli.com).\n\n* * *\n\n# Use Case\n\n**Like That Taste This (LTTT)** delivers recommendations based on the taste profile of a source wine(s) to increase user engagement. It does not require a customer to be logged in or integrated. LTTT comes in two varieties: (1) LTTT and (2) Basket LTTT. LTTT can be deployed on product description pages and can be used for out of stock wines to direct customers to similar tasting wines that are available for purchase. Basket LTTT can be deployed on pages with multiple source products, such as a shopping cart prior to checkout.\n\n**Food Like That Taste This (FLTTT)** delivers recommendations based on the taste profile of a provided food or recipe to increase user engagement. It can be deployed on product pages, recipe pages, or other pages that highlight a specific food or recipe. It does not require a customer to be logged in or integrated.\n\n**User Integrations** enables customers to link their personal Preferabli account which will further develop their preference profile and provide insight into unappealing styles. It unlocks the ability to capture User Ratings.\n\n**User Ratings** can be gathered by presenting customers with their purchase history or allowing them to add ratings to listed wines. They provide valuable feedback from the customer, improve definition of the preference profile, and increase confidence of personalized Recommendations.\n\n**Personalized Recommendations** can be delivered by various methods, such as pop-ups/modals, lists, carousels, push notifications, and live chat. Filters and collections can be customized to address specific business goals, such as targeting high margin items, aging inventory, or new arrivals.\n\n**Labels** can be provided to enhance merchant marketing and website experiences. It can be used as a primary source of label images or be used alongside an existing source to provide missing labels and eliminate the need for default images.\n\n* * *\n\n# Preferabli API\n\n**Base URL**\n\nThe Preferabli API is served over HTTPS.\n\nAuthentication and Authorization for communicating with the Preferabli API is done via authorization tokens. For server calls, use the standard `Authorization: Bearer` header.\n\nAdditionally, include your channel name in the `client_interface` header.\n\n**Common Error Responses**\n\nPreferabli uses standard HTTP error codes for all endpoints. The most common errors you may see include:\n\n| Status | Description | Message |\n| --- | --- | --- |\n| 401 | Unauthorized | Invalid token |\n| 401 | Unauthorized | Expired token |\n| 401 | Unauthorized | Token not verified |\n| 401 | Unauthorized | Missing Token |\n| 403 | Forbidden | Invalid permissions |\n| 500 | Internal Server Error |  |\n| 503 | Service Unavailable |  |\n| 504 | Gateway Timeout |  |\n\nWhen an error occurs in the service level, you will receive an error object. Most of these error objects contain an error code and an error description so that your applications can more efficiently identify the problem.\n\n** For the service-level error messages, check the individual endpoint documents.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"454079","team":11129,"collectionId":"5da3c0ca-ab84-47c1-9bea-cd8cfeba6f7b","publishedId":"T1LVA4k6","public":true,"publicUrl":"https://docs.preferabli.com","privateUrl":"https://go.postman.co/documentation/454079-5da3c0ca-ab84-47c1-9bea-cd8cfeba6f7b","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2022-02-25T17:02:30.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Preferabli Documentation (public)","id":"079717f9-1f2f-430a-9980-57b770cb6236","owner":"454079","values":[{"key":"url","value":"https://api.preferabli.com/api/5.0","enabled":true},{"key":"api_version","value":"","enabled":true},{"key":"client_interface","value":"","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/296fa4ca4df44b7e5ee494a84320bd53a7160824fd0c67b8fd47637e71e75beb","favicon":"https://res.cloudinary.com/postman/image/upload/v1645791814/team/lbxdc612rm8inirxjdip.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Preferabli Documentation (public)","value":"454079-079717f9-1f2f-430a-9980-57b770cb6236"}],"canonicalUrl":"https://docs.preferabli.com/view/metadata/T1LVA4k6"}