User Tools

Site Tools


connections-api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
connections-api [2012/04/24 04:17]
jposeika [User functions]
connections-api [2014/12/27 16:29] (current)
jposeika [User functions]
Line 1: Line 1:
 ====== Connections API features (preliminary) ====== ====== Connections API features (preliminary) ======
-===== Proposed implementation ​option ​principles =====+===== Proposed implementation principles =====
   * 3 level integration:​   * 3 level integration:​
     * API calls for getting XML/JSON data back for integrating in catalog - **[API]**     * API calls for getting XML/JSON data back for integrating in catalog - **[API]**
Line 8: Line 8:
   * Search results enhancement using ChiliFresh data   * Search results enhancement using ChiliFresh data
  
-===== Issues to discuss ​=====+===== Open issues ​=====
   * If and how do we implement looking at other user profiles in Connections?​   * If and how do we implement looking at other user profiles in Connections?​
   * How do we style widgets? Do we agree on dimensions and styles before?   * How do we style widgets? Do we agree on dimensions and styles before?
-  * What do we show to a user if Connections is not accessible?​ +  * What do we show to a user if Connections is not accessible ​(for whatever reason)
- +  * How do we handle errors/​conflicts of single-sign on, e.g., user logs on OPAC user account, but for some reason (incorrect identifier, inexistent user, etc.) does not get logged in Connections?​ 
-===== User functions =====+  * How do we ask users to write reviews on the items they check back in? E-mail them? 
 +  * How do we handle users that already are ChiliFresh users and will have registered with the particular e-mail addresses?​ 
 +  * How do we identify OPAC requests with user_key parameter? Can we set up specific OPAC IP(s)? 
 +======= User functions ​=======
   * Register **[API/​widget/​lightbox]**   * Register **[API/​widget/​lightbox]**
     * Using single sign-on **[API]**     * Using single sign-on **[API]**
Line 23: Line 26:
     * Using Twitter and Facebook **[widget/​lightbox]**     * Using Twitter and Facebook **[widget/​lightbox]**
   * Sign-out **[API]**   * Sign-out **[API]**
 +
 +===== getUserProfile:​ get user profile information =====
 +Get user profile information
 +
 +==== Input ====
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​
 +  * Method: POST
 +  * Parameters:
 +
 +|**Parameter** |**Type (size)** |**Mandatory** |
 +|action|**getUserProfile** |Yes|
 +|account|Integer (10)|Yes|
 +|user_id|Integer (10)|If //​session_id//​ empty|
 +|session_id|If //user_id// empty|
 +|location|Variable characters (40)|If applicable|
 +|api_key|Variable characters (40)|Yes|
 +
 +==== Output ====
 +
 +
 +**XML output example:**
 +<​code>​
 +<?xml version="​1.0"?>​
 +<​response>​
 + <​response_code>​2900</​response_code>​
 + <​response_description>​User account</​response_description>​
 + <​response_time>​Sat,​ 27 Dec 2014 17:​23:​23</​response_time>​
 + <​nickname>​Administrator</​nickname>​
 + <​location>​Mesa,​ Arizona, United States</​location>​
 + <​age>​4</​age>​
 + <​avatar_small_img>​http://​chilifresh.com/​userpic/​small/​blank.png</​avatar_small_img>​
 + <​avatar_large_img>​http://​chilifresh.com/​userpic/​large/​blank.png</​avatar_large_img>​
 + <​last_login>​2014-12-27 12:​02:​07</​last_login>​
 + <​current_read>​
 +  <​isbn>​24640175</​isbn>​
 +  <​title>​Harry Potter and the goblet of fire</​title>​
 +  <​author>​by J.K. Rowling.</​author>​
 +  <​cover>​https://​content.chilifresh.com/?​size=SC&​amp;​isbn=24640175</​cover>​
 + </​current_read>​
 +</​response>​
 +
 +</​code>​
 +
 +==== Response code ====
 +|**Code** |**Code description** |
 +|2900|User profile information provided|
 +|2901|Inexistent user or profile restrictions|
 +|61|User not logged in or not specified|
 +
   * Get/edit user information **[API/​widget/​lightbox]**   * Get/edit user information **[API/​widget/​lightbox]**
     * Gender     * Gender
Line 55: Line 108:
  
  
-===== Bookshelf =====+====== Bookshelf ​functions ====== 
 + 
 +===== bookshelfCreate:​ create new user bookshelf ===== 
 +Creates a new user bookshelf 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfCreate** |Yes| 
 +|account|Integer (10)|Yes| 
 +|shelfname|Variable characters(50)|Yes| 
 +|default|yes/​no|No (default: no)| 
 +|public|yes/​no|No (default: no)| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|Yes| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2100</​response_code>​ 
 + <​response_description>​Bookshelf created successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 13:​02:​20</​response_time>​ 
 + <​user_id>​64</​user_id>​ 
 + <​shelf_id>​22773</​shelf_id>​ 
 + <​shelf_name>​APIshelf</​shelf_name>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2100|Bookshelf created successfully| 
 +|2101|Empty bookshelf name| 
 +|60|Session invalid, expired or empty| 
 + 
 +===== bookshelfDelete:​ delete an existing bookshelf of user ===== 
 +Delete an existing bookshelf of user 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfDelete** |Yes| 
 +|account|Integer (10)|Yes| 
 +|shelf_id|Integer(10)|Yes| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|Yes| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​123</​response_code>​ 
 + <​response_description>​Shelf deleted successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 13:​51:​32</​response_time>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2200|Shelf deleted successfully| 
 +|2201|Cannot delete bookshelf| 
 +|60|Session invalid, expired or empty| 
 + 
 + 
 +===== bookshelfChangeSettings:​ change settings of bookshelf ===== 
 +Changes settings of a bookshelf 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfChangeSettings** |Yes| 
 +|account|Integer (10)|Yes| 
 +|shelf_id|Integer (10)|Yes| 
 +|default|yes/​no|No| 
 +|public|yes/​no|No| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|Yes| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2300</​response_code>​ 
 + <​response_description>​Settings changed successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 15:​30:​23</​response_time>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2300|Settings changed successfully| 
 +|2301|Cannot change settings to bookshelf| 
 +|60|Session invalid, expired or empty| 
 + 
 +===== bookshelfAddItem:​ add an item to bookshelf ===== 
 +Add an item - book, CD, DVD, etc. - to an existing bookshelf 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfAddItem** |Yes| 
 +|account|Integer (10)|Yes| 
 +|shelf_id|Integer (10)|Yes| 
 +|item_id|ISBN,​ UPC, ISSN, etc.|Yes| 
 +|cf_item_id|Integer (10) - item identifier from CF database|No| 
 +|item_title|Variable characters (100) - item title|Only if adding unidentified item by //​item_id//​| 
 +|item_author|Variable characters (100) - item author|Only if adding unidentified item by //​item_id//​| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|Yes| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2400</​response_code>​ 
 + <​response_description>​Item added to shelf successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 15:​46:​04</​response_time>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2400|Item added to shelf successfully| 
 +|2401|Cannot identify item| 
 +|2402|Cannot add item to bookshelf| 
 +|2403|Empty item identifier| 
 +|60|Session invalid, expired or empty| 
 + 
 +===== bookshelfRemoveItem:​ remove an item from an existing bookshelf ===== 
 +Remove an item from an existing bookshelf 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfAddItem** |Yes| 
 +|account|Integer (10)|Yes| 
 +|shelf_id|Integer (10)|Yes| 
 +|item_id|ISBN,​ UPC, ISSN, etc.|Yes| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|Yes| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2500</​response_code>​ 
 + <​response_description>​Item removed successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 15:​46:​04</​response_time>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2500|Item removed successfully| 
 +|2501|Cannot remove item from bookshelf| 
 +|60|Session invalid, expired or empty| 
 + 
 +===== bookshelfListShelves:​ listing all shelves of a user ===== 
 +Listing all shelves of a user - whether logged in user, or not logged in 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfListShelves** |Yes| 
 +|account|Integer (10)|Yes| 
 +|user_id|Variable characters (32)|If //​session_id//​ empty| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|If //user_id// empty| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2600</​response_code>​ 
 + <​response_description>​Shelves listed successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 16:​07:​49</​response_time>​ 
 + <​user_id></​user_id>​ 
 + <​bookshelves>​ 
 +  <​bookshelf>​ 
 +   <​id>​22761</​id>​ 
 +   <​item_count>​0</​item_count>​ 
 +   <​shelf_title>​Test shelf</​name>​ 
 +   <​order>​0</​order>​ 
 +   <​default>​no</​default>​ 
 +   <​required>​no</​required>​ 
 +   <​public>​no</​public>​ 
 +   <​date>​Sat,​ 27 Dec 2014 11:​57:​28</​date>​ 
 +  </​bookshelf>​ 
 + </​bookshelves>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2600|Shelves listed successfully| 
 +|61|User not logged in or not specified| 
 + 
 + 
 +===== bookshelfListItems:​ list all items of some particular bookshelf ===== 
 +List all items of some particular bookshelf 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfListItems** |Yes| 
 +|account|Integer (10)|Yes| 
 +|shelf_id|Integer (10)|Yes| 
 +|user_Id|Integer (10)|If //​session_id//​ empty| 
 +|session_id|ChiliFresh session - retrieved from userRegister,​ userLogin or userCreateSession call|If //user_id// emtpy| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2700</​response_code>​ 
 + <​response_description>​Listing of bookshelf successful</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 17:​05:​21</​response_time>​ 
 + <​user_id>​231853</​user_id>​ 
 + <​shelf_id>​22762</​shelf_id>​ 
 + <​shelf_title>​APIshelf2</​shelf_title>​ 
 + <​item_count>​4</​item_count>​ 
 + <​shelf_type>​private</​shelf_type>​ 
 + <​shelf_type_description>​Own,​ full access</​shelf_type_description>​ 
 + <​items>​ 
 +  <​item>​ 
 +   <​title>​Motivated minds</​title>​ 
 +   <​author>​Deborah Stipek and Kathy Seal.</​author>​ 
 +   <​isbn>​0805063951</​isbn>​ 
 +   <​item_id>​3</​item_id>​ 
 +   <​work_id>​3</​work_id>​ 
 +   <​date>​Sat,​ 27 Dec 2014 15:​41:​28</​date>​ 
 +  </​item>​ 
 + </​items>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2700|Listing of bookshelf successful| 
 +|61|User not logged in or not specified| 
 + 
 +===== bookshelfMoveItem:​ move an item from one bookshelf to another ===== 
 +Move an item from one bookshelf to another 
 + 
 +==== Input ==== 
 +  * URL for XML output: https://​secure.chilifresh.com/​api/​connections/​ 
 +  * URL for JSON output: https://​secure.chilifresh.com/​api/​connections/​json/​ 
 +  * Method: POST 
 +  * Parameters:​ 
 + 
 +|**Parameter** |**Type (size)** |**Mandatory** | 
 +|action|**bookshelfMoveItem** |Yes| 
 +|account|Integer (10)|Yes| 
 +|from_shelf|Integer (10)|Yes| 
 +|to_shelf|Integer (10)|Yes| 
 +|item_id|Integer (10)|Yes| 
 +|session_id|Yes| 
 +|location|Variable characters (40)|If applicable| 
 +|api_key|Variable characters (40)|Yes| 
 + 
 +==== Output ==== 
 + 
 + 
 +**XML output example:​** 
 +<​code>​ 
 +<?xml version="​1.0"?>​ 
 +<​response>​ 
 + <​response_code>​2800</​response_code>​ 
 + <​response_description>​Item moved successfully</​response_description>​ 
 + <​response_time>​Sat,​ 27 Dec 2014 17:​16:​55</​response_time>​ 
 +</​response>​ 
 +</​code>​ 
 + 
 +==== Response code ==== 
 +|**Code** |**Code description** | 
 +|2800|Item moved successfully| 
 +|2801|Could not move item to other bookshelf| 
 +|2802|Target shelf does not belong to session user| 
 +|60|Session invalid, expired or empty| 
 +====== Account-related errors ====== 
 +|**Error code** |**Error description** | 
 +|0|System error| 
 +|1|Invalid (empty) API key| 
 +|2|Invalid API key| 
 +|3|API key request limit reached| 
 +|4|API key deactivated| 
 +|5|Invalid API call| 
 +|20|Empty account ID| 
 +|30|Account does not exists| 
 +|40|Account suspended| 
 +|50|Action not specified| 
   * Show user's bookshelf **[widget/​lightbox]** - the widget can be displayed just as on Connections   * Show user's bookshelf **[widget/​lightbox]** - the widget can be displayed just as on Connections
  
Line 87: Line 488:
   * Novelist data - gets Novelist content for particular item from API   * Novelist data - gets Novelist content for particular item from API
  
-===== List functions ===== +===== Friends / users functions ​=====
-For all features **[API/​lightbox]**:​ +
-  * Get communities list + search +
-  * Get book clubs list + search +
-  * Get discussion groups list + search +
-  * Get chat rooms list + search +
-  * Get tags list + search +
-  * Get friends + search +
-  * Get library'​s users + search +
- +
-===== Friends / users features ​=====+
 For all features **[API/​lightbox]**:​ For all features **[API/​lightbox]**:​
   * Get user's friends + links to their profiles ​   * Get user's friends + links to their profiles ​
Line 112: Line 503:
  
  
-===== Item recommendations ​=====+===== Item recommendation functions ​=====
 For all features **[API/​lightbox]**:​ For all features **[API/​lightbox]**:​
   * See all recommendations   * See all recommendations
Line 118: Line 509:
   * Recommend item over e-mail   * Recommend item over e-mail
  
-===== Specific ​features ===== + 
-All features in light-box:+===== List functions ===== 
 +For all features ​**[API/​lightbox]**:​ 
 +  * Get communities list + search 
 +  * Get book clubs list + search 
 +  * Get discussion groups list + search 
 +  * Get chat rooms list + search 
 +  * Get tags list + search 
 +  * Get friends + search 
 +  * Get library'​s users + search 
 + 
 +===== Specific functions ​===== 
 +All features in **[lightbox]**:
   * Discussion groups - see all, favorites, join one, create one, etc.   * Discussion groups - see all, favorites, join one, create one, etc.
   * Chat rooms - see all, favorites, join one, create one, etc.   * Chat rooms - see all, favorites, join one, create one, etc.
connections-api.1335259037.txt.gz · Last modified: 2012/04/24 04:17 by jposeika