Create profile

From ePrize Developers Wiki

Revision as of 15:33, 18 March 2009 by Brian-quail (Talk | contribs)
Jump to: navigation, search

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