Re: REST APIs in WO applications
Re: REST APIs in WO applications
- Subject: Re: REST APIs in WO applications
- From: Pascal Robert <email@hidden>
- Date: Tue, 22 May 2012 09:11:34 -0400
Check the ERRestRouteExample from Wonder, or the SimpleBlog example on GitHub...
> Hi Kieren,
>
> Can you please help us with sample program using ERRest? We figured out the direct action code based on your comments.
>
> Thanks & Regards,
> Kalpana.
>
> From: Kalpana Vaka [mailto:email@hidden]
> Sent: 22 May 2012 18:21
> To: 'Kieran Kelleher'
> Cc: 'email@hidden'
> Subject: RE: REST APIs in WO applications
>
> Hi Kieren,
>
> Thanks for the response.
>
> Can you help us with sample direct action code that returns XML in the response?
>
> Thanks & Regards,
> Kalpana.
>
> From: Kieran Kelleher [mailto:email@hidden]
> Sent: 21 May 2012 23:57
> To: Kalpana Vaka
> Cc: email@hidden
> Subject: Re: REST APIs in WO applications
>
> Since you are having to do this backwards and implement an API that someone else designed for you as shown below, the fastest thing to do IMHO would be this:
>
> (1) Implement a Direct Action to handle the invoke action. You can use apache redirect as needed to rewrite the pre-defined base URL to WO direct action URL.
>
> (2) For the response body, just use two text String templates for the 2 possible response formats and use ERXSimpleTemplateParser to fill in the variables and set the WOResponse content as the text result and return that. (or just use a StringBuilder to build the simple XML response as shown in your example.
>
>
> Next time, implement your API using ERRest in a nice standardized way and tell your client how you want them to call your REST service.
>
> HTH, Kieran
>
>
>
>
> On May 21, 2012, at 2:11 PM, Kalpana Vaka wrote:
>
>
> Hi All,
>
> We have an urgent requirement from a customer to support REST APIs. They are using some other system and these APIs are in production now.
> They want us to receive these API calls now. The question is how we can implement these in our WO application. I am giving an example of the API below.
> Thanks for your help! Can anyone help us with this? Can we do this with direct action?
>
>
> Method: createUser
>
>
> Input:
>
> Parameter Nane
> Type
> Required*
> Description
> Notes
> partnerId
> String
> Y
> Partner Identifier. i.e. une
>
> partnerPassword
> String
> Y
> Password i.e admin@une
>
> email
> String
> Y
> User email
> Max 50 chars
> password
> String
> Y
> User password
> Max 30 chars
> firstname
> String
> Y
> User First Name
> Max 50 chars
> lastname
> String
> Y
> User Last Name
> Max 50 chars
> birthdate
> String
> N
> User birthdate
> dd/mm/yyyyy
> cellphone
> String
> N
> User cellphone
> Max 10 chars
> country
> String
> Y
> Default MX
> 2 character
> regionCode
> String
> N
> ISO Codes
> 2 character
> address
> String
> N
> User address
> Max 255 chars
> city
> String
> N
> User City
> Max 100 chars
> zipcode
> String
> N
> User Zip Code
> Max 10 chars
> freetrial
> Char
> N
> [Y|N]
>
> subid1 - subid5
> String
> N
> Five parameters (your partnername as part of subid1, any other information as part of subid2 – 5.
>
>
> *Required Fields: All the required fields (Y) are mandatory.
> Output:
> status: Success/Fail
>
> In case of Success:
> userId (unique user id)
> accountId (internal account id for cross-reference purposes)
>
> Invoke Example:
>
>
> https://test.com/rest/createUser?partnerId=TESTPARTNER&partnerPassword=PASSWORD123&email=email@hidden&password=pass123&firstname=Terry&lastname=Tester&country=MX&subid1=xyz1&subid2=xyz2&subid3=xyz3&freetrial=y
> Output Examples:
>
>
> Success:
>
> <createUserResponse>
> <tmResponseCode>000000000</tmResponseCode>
> <message>
> <accountID>2105033283</accountID>
> <user_id>email@hidden</user_id>
> </message>
> </createUserResponse>
>
> The ‘000000000’ value of <tmResponseCode> represents success.
>
>
> Fail:
>
> <createUserResponse>
> <detail>
> <responseCode>100_02_30007</responseCode>
> <responseMessage>Email id mentioned in profile already exists in database.</responseMessage>
> </detail>
> <tmResponseCode>111111111</tmResponseCode>
> </createUserResponse>
>
> The ‘111111111’ value of <tmResponseCode> represents failure.
>
>
> Thanks & Regards,
> Kalpana.
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden