Create profile

From ePrize Developers Wiki

(Difference between revisions)
Jump to: navigation, search
Line 11: Line 11:
This URL is an entry point. It may be easily attacked because valid URLs are easy to guess. CAPTCHA protects against automated attacks.
This URL is an entry point. It may be easily attacked because valid URLs are easy to guess. CAPTCHA protects against automated attacks.
}}
}}
- 
-
<pre>
 
-
Request representation:
 
-
{profile-key}:{profile-value}
 
-
{key1}:{value1},
 
-
{key2}:{value2},
 
-
...
 
-
{keyN}:{valueN}
 
-
</pre>
 
{{RESTfulExample
{{RESTfulExample
- 
|title=Profile Created
|title=Profile Created
|summary=This demonstrates a successful profile creation.
|summary=This demonstrates a successful profile creation.
Line 50: Line 40:
{{RESTfulExample
{{RESTfulExample
- 
|title=Profile Already Exists
|title=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.
|summary=This demonstrates an attempted profile creation that got rejected because a profile with the unique id (email in most cases) already exists.
Line 68: Line 57:
{{RESTfulExample
{{RESTfulExample
- 
|title=Invalid Request - Errors
|title=Invalid Request - Errors
|responsecode=400 Bad Request
|responsecode=400 Bad Request

Revision as of 15:20, 18 March 2009

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.

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>


Personal tools