Project

General

Profile

Provisioning Management » History » Revision 19

Revision 18 (Eric Vieillevigne, 05/12/2015 05:42 PM) → Revision 19/26 (jerome bonnet, 09/17/2015 02:14 PM)

{{>toc}} 

 h1. Provisioning Management - _*prov*_ Method 

 Provisionning Management allows a thirdParty Application to create, update, delete an account of FamilyWall, Set the member profile right, set member premium type and select/update the services enable for such user.  

 h2. Search User - _provsearch_ 

 This method returns the accountId of a Valid user by Identifiers (email, login or MSISDN) 

 By sending an HTTP request http://devserver/api/prov/search?identifier=test@gmail.com 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |email|String|Email identifier| 
 |MSISDN|String|internationalized 10 digits number| 
 |login|String|login of a valid account| 

 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r":"12345" 
     }, 
     "cn":"provsearch" 
   } 
 } 
 </code></pre> 
 The Method response is a *Long* which represents the _AccountId_ of the account searched.  

 In case, the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |FizApiAccIdentifierInvalidException |Ex|21|User does not exist| 


 h2. Create Family - _provcreatefamily_ 

 This method create a family with a founder member. A family cannot exist without at least one no member, therefore founderId parameter is mandatory. set premium type, Set Enable Service (e.g. Calendar, Media management, Location...) 

 By sending an HTTP request http://devserver/api/prov/createfamily 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |FamilyName|String|Name of the Family| 
 |FamilyImage|file|Binary file of Family image (optional)| image| 
 |founderId|Long|account id of the founder of this family 

 |Premium_Type|Long|Free(0),Premium(1),Premium_Plus(2)| 
 |Calendar_Service|Boolean|Default true| 
 |Location_Service|Boolean|Default true| 
 |Autotracking_Service|Boolean|Default false| 
 |Message_Service|Boolean|Default true| 
 |Photo_Service|Boolean|Default true| 
 |Video_Service|Boolean|Default true| 
 |Audio_Service|Boolean|Default true| 
 |Task_Service|Boolean|Default true| 


 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     a00 : { 
         r : { 
             r : { 
                 coverDefault :    false, 
                 family_id :    61, 
                 pictureDefault :    false, 
                 metaId :    family/61, 
                 members : [ 
                     { 
                         familyId :    family/61, 
                         joinDate :    2014-01-03T13:43:09.000Z, 
                         role :    Dad, 
                         metaId :    familymember/42_61, 
                         isFirstFamily :    true, 
                         lastLoginDate :    2015-09-16T14:46:10.000Z, 
                         right :    SuperAdmin, 
                         account : { 
                             accountId :    42, 
                             deleted :    false, 
                             identifiers : [ 
                                 { 
                                     validated :    false, 
                                     id :    63, 
                                     type :    Login, 
                                     value :    homersimpsontest 
                                 "r":{ 
       "r":"12345" 
     }, 
     "cn":"provcreatefamily" 
   } 
                             ], 
                             name :    founder, 
                             lastLoginDate :    2015-09-16T16:05:15.000Z, 
                             creationDate :    2014-01-03T13:43:06.000Z, 
                             termsChecked :    true 
                         } 
                     } 
                 ], 
                 name :    Simpson12, 
                 pictureUri :    http://localhost:8080/media/61_20ck56bl_43?, 
                 coverUri :    http://localhost:8080/media/61_8cz2k3bk_3222? 
             } 
         }, 
         cn :    provcreatefamily 
 } 
 </code></pre> 
 The Method response is the created family. 

 In case, the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizApiUnattendedException|Ex|21|Unknown exception| 

 h2. Create Family - _provfoundfamily_ 

 This method create both a user and a family. Because a family cannot exist without a founder and an account must be in at least one family, in order to avoid *Long* which represents the chicken-and-egg problem, this api allows to create both objects at the same time. 

 By sending an HTTP request http://devserver/api/prov/createfamily 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |FamilyName|String|Name _FamilyId_ of the Family| 
 |FamilyImage|file|Binary file of Family image (optional)| 
 |Type|String|Email,phone,login| 
 |Identifier|String|User Identifier Email or MSISDN depending on the type| 
 |Firstname|String|User First Name| 
 |Locale|String|Country Code International as 2 letters language code as ISO 639    and 2 letters country code as ISO 3166 separated by an underscore or a dash.| 
 |Picture|file|Binary file of picture for the user (optional)| 

 *Response*: 
 <pre><code class="javascript"> 
 { 
     a00 : { 
         r : { 
             r : { 
                 coverDefault :    false, 
                 family_id :    61, 
                 pictureDefault :    false, 
                 metaId :    family/61, 
                 members : [ 
                     { 
                         familyId :    family/61, 
                         joinDate :    2014-01-03T13:43:09.000Z, 
                         role :    Dad, 
                         metaId :    familymember/42_61, 
                         isFirstFamily :    true, 
                         lastLoginDate :    2015-09-16T14:46:10.000Z, 
                         right :    SuperAdmin, 
                         account : { 
                             accountId :    42, 
                             deleted :    false, 
                             identifiers : [ 
                                 { 
                                     validated :    false, 
                                     id :    63, 
                                     type :    Login, 
                                     value :    homersimpsontest 
                                 } 
                             ], 
                             name :    founder, 
                             lastLoginDate :    2015-09-16T16:05:15.000Z, 
                             creationDate :    2014-01-03T13:43:06.000Z, 
                             termsChecked :    true 
                         } 
                     } 
                 ], 
                 name :    Simpson12, 
                 pictureUri :    http://localhost:8080/media/61_20ck56bl_43?, 
                 coverUri :    http://localhost:8080/media/61_8cz2k3bk_3222? 
             } 
         }, 
         cn :    provfoundfamily 
 } 
 </code></pre> 

 familycreated.  

 In case, the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizApiUnattendedException|Ex|21|Unknown exception| 

 h2. Update Family - _provupdatefamily_ 

 This method update a family to change the name or picture of a family. family, set premium type, Set Enable Service (e.g. Calendar, Media management, Location...) 

 By sending an HTTP request http://devserver/api/prov/updatefamily?familyId=12345 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 

 |FamilyName|String|Name of the Family| 
 |familyId|Long|Family Id | 
 |FamilyImage|file|Binary file of Family image| 

 
 |Premium_Type|Long|Free(0),Premium(1),Premium_Plus(2)| 
 |Calendar_Service|Boolean|Default true| 
 |Location_Service|Boolean|Default true| 
 |Autotracking_Service|Boolean|Default false| 
 |Message_Service|Boolean|Default true| 
 |Photo_Service|Boolean|Default true| 
 |Video_Service|Boolean|Default true| 
 |Audio_Service|Boolean|Default true| 
 |Task_Service|Boolean|Default true| 


 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     a00 : { 
         r : { 
             r : { 
                 coverDefault :    false, 
                 family_id :    61, 
                 pictureDefault :    false, 
                 metaId :    family/61, 
                 members : [ 
                     { 
                         familyId :    family/61, 
                         joinDate :    2014-01-03T13:43:09.000Z, 
                         role :    Dad, 
                         metaId :    familymember/42_61, 
                         isFirstFamily :    true, 
                         lastLoginDate :    2015-09-16T14:46:10.000Z, 
                         right :    SuperAdmin, 
                         account : { 
                             accountId :    42, 
                             deleted :    false, 
                             identifiers : [ 
                                 { 
                                     validated :    false, 
                                     id :    63, 
                                     type :    Login, 
                                     value :    homersimpsontest 
                                 "r":{ 
       "r":"12345" 
     }, 
     "cn":"provupdatefamily" 
   } 
                             ], 
                             name :    founder, 
                             lastLoginDate :    2015-09-16T16:05:15.000Z, 
                             creationDate :    2014-01-03T13:43:06.000Z, 
                             termsChecked :    true 
                         } 
                     } 
                 ], 
                 name :    Simpson12, 
                 pictureUri :    http://localhost:8080/media/61_20ck56bl_43?, 
                 coverUri :    http://localhost:8080/media/61_8cz2k3bk_3222? 
             } 
         }, 
         cn :    provupdatefamily 
 } 
 </code></pre> 
 The Method response is a *Long* which represents the updated family. _FamilyId_ of the family updated.  

 In case, the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 


 h2. Delete Family - _provdeletefamily_ 

 This method remove a family and all his contents. If the family have members, they are removed from the family. If, as a result from this operation, some with non members are left without a family, they are deleted, too. 

 By sending an HTTP request http://devserver/api/prov/deletefamily?familyId=12345 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 

 |familyId|Long|Family Id | 


 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r":"true" 
     }, 
     "cn":"provdeletefamily" "cn":"provupdatefamily" 
   } 
 } 
 </code></pre> 
 The Method response is true when the operation is successful.  

 In case the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |AFizFamilyNotEmpty|Ex|31|Family contains members| 


 h2. Create Account - _provcreateaccount_ 

 This method create a member for a family and set the member type (member=(0),adminsitrator=(1),founder=(2)). Note that after this method, the user receive an invitation email or an SMS with link to complete the account creation. 

 By sending an HTTP request http://devserver/api/prov/createaccount?type=Email&identifier=test@gmail.com&countryCode=FR 
 &accountType=2&locale=FR&familyId=12345&UserName=myFirstName&Locale=fr 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |familyId|Long|Family Id where the member shall be added| 
 |Type|String|Email,phone,login| 
 |Identifier|String|User Identifier Email or MSISDN depending on the type| 
 |UserName|String|User First Name| 
 |Locale|String|Country |UserCountryCode|String|Country Code International as 2 letters language code as ISO 639    and 2 letters country code as ISO 3166 separated by an underscore or a dash.| Two letters| 
 |AccountType|Long|Account Type (None,Admin,SuperAdmin) None=normal member, Admin=administrator, SuperAdmin= founder| (member=(0),administrator=(1),founder=(2))| 
 |Picture|file|Binary file of picture for the user (optional)| 

 |Locale|String|Country Code International Two letters| 


 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r": { 
				 accountId :    42, 
				 deleted :    false, 
				 identifiers : [ 
					 { 
						 validated :    false, 
						 id :    63, 
						 type :    Login, 
						 value :    homersimpsontest 
					 } 
				 ], 
				 name :    founder, 
				 lastLoginDate :    2015-09-16T16:05:15.000Z, 
				 creationDate :    2014-01-03T13:43:06.000Z, 
				 termsChecked :    true 
			 } "r":"123455" 
     }, 
     "cn":"provcreateaccount" 
   } 
 } 
 </code></pre> 
 The Method response is a *Long* which represents the _AccountId_ of the account created.  

 In case, the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |FizFamilyDoesNotExistException|Ex|510|Family |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |FizAccountAlreadyExistsException |Ex|2|Account Identifier already exists| 
 |FizFounderAlreadyExistsException |Ex|ccc|Founder |Ex|15|Founder already exists| 
 |AFizInvalidIdentifierException|Ex|21|Identifier has an invalid format| 
 |AFizInvalidEmailException|Ex|17|Email has an invalid format| 
 |AFizInvalidMSISDNException|Ex|22|MSISDN has an invalid format| 

 h2. Update Account - _provupdateaccount_ 

 This method update a member for a family and set the member type (member=(0),administrator=(1),founder=(2)).  

 By sending an HTTP request http://devserver/api/prov/updateaccount?UserCountryCode=FR 
 &AccountType=2&locale=FR&UserName=myNewFirstName&Locale=fr&accountId=123455 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |accountId|Long|Account Id of the modified account| 
 |UserName|String|User First Name| 
 |UserCountryCode|String|Country Code International Two letters| 
 |AccountType|Long|Account Type (member=(0),adminitrator=(1),founder=(3))| 
 |Locale|String|Country Code International Two letters| 


 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r": { 
                             accountId :    42, 
                             deleted :    false, 
                             identifiers : [ 
                                 { 
                                     validated :    false, 
                                     id :    63, 
                                     type :    Login, 
                                     value :    homersimpsontest 
                                 } 
                             ], 
                             name :    founder, 
                             lastLoginDate :    2015-09-16T16:05:15.000Z, 
                             creationDate :    2014-01-03T13:43:06.000Z, 
                             termsChecked :    true 
                         } "r":"123455" 
     }, 
     "cn":"provupdateaccount" 
   } 
 } 
 </code></pre> 
 The Method response is a *Long* which represents the _AccountId_ of the account updated.  

 In case, the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |FizAccountAlreadyExistsException |Ex|2|Account Identifier already exists| 
 |FizFounderAlreadyExistsException |Ex|15|Founder already exists| 
 |AFizInvalidIdentifierException|Ex|21|Identifier has an invalid format| 
 |AFizInvalidEmailException|Ex|17|Email has an invalid format| 
 |AFizInvalidMSISDNException|Ex|22|MSISDN has an invalid format| 

 h2. Add Account to family- _provaddaccount2family_ 

 This method add an existing account to a family and set the member type (member=(0),administrator=(1),founder=(2)).  

 By sending an HTTP request http://devserver/api/prov/addaccount2family?accountId=123455&familyId=333445 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |accountId|Long|Family Id where the member shall added| 
 |familyId|Long|Family Id where the member shall be added| 
 |AccountType|Long|Account Type (None,Admin,SuperAdmin) None=normal member, Admin=administrator, SuperAdmin= founder| 

 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r":"true" 
     }, 
     "cn":"provupdateaccount" 
   } 
 } 
 </code></pre> 
 The Method response is true when the operation is successful.  

 In case the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |FizFounderAlreadyExistsException |Ex|15|Founder already exists| 

 h2. Remove Account from family- _provremoveaccount2family_ 

 This method remove an existing account from a family.  

 By sending an HTTP request http://devserver/api/prov/removeaccount2family?accountId=123455&familyId=333445 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |accountId|Long|Family Id where the member shall added| 
 |familyId|Long|Family Id where the member shall be added| 

 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r":"true" 
     }, 
     "cn":"provupdateaccount" 
   } 
 } 
 </code></pre> 
 The Method response is true when the operation is successful.  

 In case the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |FizFounderAlreadyExistsException |Ex|15|Founder already exists| 

 h2. Delete Account _provdeleteaccount_ 

 This method delete an existing account. It will be removed from all his families beforehand. Families without remaining members are definitively deleted. 

 By sending an HTTP request http://devserver/api/prov/deleteaccount?accountId=123455 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |accountId|Long|Family Id where the member shall added| 

 *Response*: 
 <pre><code class="javascript"> 
 { 
   "a01":{ 
     "r":{ 
       "r":"true" 
     }, 
     "cn":"provupdateaccount" 
   } 
 } 
 </code></pre> 
 The Method response is true when the operation is successful.  

 In case the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |FizAccountDoesNotExistException    |Un|507|Account is not found| 


 h2. get Account information _provgetaccount_ 

 This method returns the information about an existing account, mainly the family he has subscribed to. 

 By sending an HTTP request http://devserver/api/prov/getaccount?accountId=123455 

 *Parameters*: 

 |*Name*|*Type*|*Description*| 
 |accountId|Long|Account |accountId|Long|Family Id where the member shall added| 

 *Response*: 
 <pre><code class="javascript"> 
 <pre><code class="javascript"> 
 { 
   "a01":{ "a01": "a00": { 
     "r":{ "r": { 
       "r": { 
				 accountId 
         "accountId": "123455", 
         "identifiers": [ 
           { 
             "validated": "true", 
             "id": "41602", 
             "type": "Email", 
             "value": "dbfw1@gmail.com" 
           } 
         ], 
         "name": "Eric Vieillevigne", 
         "lastLoginDate": "2015-05-12T17:24:08.782Z", 
		 "families" :    42, [ 
			 { 
				 deleted :    false, "familyName": "myfamily", 
				 identifiers : "pictureURIs": [ 
					 "http://dev.familywall.com/media/33182_24g29rc4x_37304?" 
				 ], 
				 "premiumType": "2", 
				 "Calendar_Service": "true", 
				 "Location_Service": "false", 
				 "Autotracking_Service": "false", 
				 "Message_Service": "true", 
				 "Photo_Service": "true", 
				 "Video_Service": "true", 
				 "Audio_Service": "true", 
				 "Task_Service": "true", 
				 "metaId": "family/33202", 
				 "familyId": "33202" 
			 }, 
			 { 
						 validated :    false, 
						 id :    63, 
						 type :    Login, 
						 value :    homersimpsontest 
				 "familyName": "myfamily2", 
				 "pictureURIs": [ 
					 } "http://dev.familywall.com/media/33183_24g29rc4x_37312?" 
				 ], 
				 name :    founder, "premiumType": "2", 
				 lastLoginDate :    2015-09-16T16:05:15.000Z, "Calendar_Service": "true", 
				 creationDate :    2014-01-03T13:43:06.000Z, "Location_Service": "false", 
				 termsChecked :    true "Autotracking_Service": "false", 
				 "Message_Service": "true", 
				 "Photo_Service": "true", 
				 "Video_Service": "true", 
				 "Audio_Service": "true", 
				 "Task_Service": "true", 
				 "metaId": "family/33202", 
				 "familyId": "33203" 
			 } 			
		 ] 
       } 
     }, 
     "cn":"provcreateaccount" "cn": "accgetloggedaccount" 
   } 
 } </code></pre> 
 </code></pre> 

 The Method response is true when the operation is successful.  

 In case the method encounter any error, the response is an exception with specific parameters detailed below. 

 *Error*: 

 |*Error Code*|*Type*|*Value*|*Description*| 
 |AFizFamilyIdDoesNotExist|Ex|11|Family Id Does not Exists| 
 |FizAccountDoesNotExistException    |Un|507|Account is not found|