Create profile
From ePrize Developers Wiki
Line 1: | Line 1: | ||
{{RESTfulAPI | {{RESTfulAPI | ||
- | |||
|crumbs=[[API Home Page]] :: [[Profiles]] | |crumbs=[[API Home Page]] :: [[Profiles]] | ||
- | |||
|summary=Promotion is configured with one unique {profile-key} such as email, user_name, or mobile_phone. At a minimum, the profile must have a {profile-value} for this key and {profile-value} must be unique within the promotion. | |summary=Promotion is configured with one unique {profile-key} such as email, user_name, or mobile_phone. At a minimum, the profile must have a {profile-value} for this key and {profile-value} must be unique within the promotion. | ||
Revision as of 15:33, 18 March 2009
Summary
Promotion is configured with one unique {profile-key} such as email, user_name, or mobile_phone. At a minimum, the profile must have a {profile-value} for this key and {profile-value} must be unique within the promotion.
Additional key:value pairs may be submitted. The {apikey} may enforce rules on these pairs such as required vs optional, size limits and validation. Common examples of other keys are address, birthdate and optin. The name of a key must begin with a letter and consist of only lowercase ASCII letters, numbers and underscores.
Typically the {apikey} will be configured to require a CAPTCHA challenge/response in the request headers of an untrusted create profile request. A failed CAPTCHA is the same as a failed validation, resulting in a response of 400 Bad Request.
This URL is an entry point. It may be easily attacked because valid URLs are easy to guess. CAPTCHA protects against automated attacks.
Example: Profile Created
Summary
This demonstrates a successful profile creation.
Request
Form Post Variables email:some.email@address.com key1:key1-value key2:key2-value ... keyN:keyN-value
Response
HTTP Status Code: 201 Created
HTTP Redirect Location: /v1/{apikey}/profile/{uid}
<?xml version="1.0" encoding="UTF-8" ?> <result ver="ePrize Web Services 1.0"> <result> <profile> <id>{uid}</id> <email>some.email@address.com</email> <safekey1>safekey1-value</safekey1> <safekey2>safekey2-value</safekey2> ... <safekeyN>safekeyN-value</safekeyN> </profile> </result> <status>1</status> </result>
Example: Profile Already Exists
Summary
This demonstrates an attempted profile creation that got rejected because a profile with the unique id (email in most cases) already exists.
Response
HTTP Status Code: 409 Conflict
<?xml version="1.0" encoding="UTF-8" ?> <result ver="ePrize Web Services 1.0"> <result> <errors> <terminal_errors> <error>duplicate_account</error> </terminal_errors> </errors> </result> <status>1</status> </result>
Example: Invalid Request - Errors
Response
HTTP Status Code: 400 Bad Request
<?xml version="1.0" encoding="UTF-8" ?> <result ver="ePrize Web Services 1.0"> <result> <errors> <field_errors> <field> <name>field1</name> <error>VALIDATION</error> </field> <field> <name>field2</name> <error>NULL</error> </field> ... <field> <name>fieldN</name> <error>NULL</error> </field> </field_errors> </errors> </result> <status>1</status> </result>