Difference between revisions of "Adding or Updating Members"

From Enterprise Help
Jump to: navigation, search
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
The process of creating a member in Fishbowl database is as follows:
 
  
<br/>Find out if a specific email address already exists in the site. Send a GET request to the Members endpoint and include the email address in the $filter query string parameter.
 
  
 +
== Does a Member Exist?<br/> ==
  
 +
<br/>Find out if a specific email address already exists in the site ([[Getting_Site_Information|get a SiteID]]). Send a GET request to the Members endpoint and include the email address in the $filter query string parameter.
  
==== Sample Request:<br/> ====
+
==== Sample Request (Using 1234567890 as the SiteID):<br/> ====
  
  GET [http://enterprise.qa.fishbowl.com/api/odata/v1/SITE_ID/Members http://services.fishbowl.com/api/odata/v1/SITE_ID/Members]?
+
GET http://services.fishbowl.com/api/odata/v1/SITE_ID/Members?$filter=EmailAddress
    $filter=EmailAddress%20eq%20'johndoe@test.com' HTTP/1.1
+
%20eq%20'johndoe@test.com' HTTP/1.1
 
  Accept: application/json
 
  Accept: application/json
 
  Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
 
  Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
Line 16: Line 16:
 
  BNzK3cu0xGobGsFLxPtDG3urs_4abXZtvxN8wm9rpsgr
 
  BNzK3cu0xGobGsFLxPtDG3urs_4abXZtvxN8wm9rpsgr
  
 +
==== <br/>Sample Respone When a Member is New (Does not exist):<br/> ====
  
 +
{
 +
  "odata.metadata":"http://services.fishbowl.com/API/odata/v1/1234567890/$metadata#Members",
 +
  "value":[]
 +
}
  
If the response’s value field is empty, that means the member with that email address does not exist.
+
==== Sample Respone When a Member Exists in the Database:<br/> ====
 
+
 
+
  
 
   {  
 
   {  
  "odata.metadata":"[http://enterprise.qa.fishbowl.com/API/odata/v1/2147483947/ http://services.fishbowl.com/API/odata/v1/2147483947/]
+
  "odata.metadata":"[http://enterprise.qa.fishbowl.com/API/odata/v1/2147483947/ http://services.fishbowl.com/API/odata/v1/2147483947/]
                    $metadata#Members",
+
                    $metadata#Members",
  "value":[]
+
  "value":[  
 +
    {
 +
        "MemberID":"2148166490",
 +
        "SiteID":"2147483947",
 +
        "EmailAddress":"johndoe@test.com",
 +
        "HardBounces":0,
 +
        "SoftBounces":0,
 +
        "Suppressed":false,
 +
        "IsTester":false,
 +
        "CreatedUtc":"2014-11-07T17:13:23.88Z",
 +
        "LastUpdatedUtc":"0001-01-01T05:00:00Z",
 +
        "StringFields":[
 +
          {
 +
              "Name":"FirstName",
 +
              "Value":"John"
 +
          },
 +
          {
 +
              "Name":"LastName",
 +
              "Value":"Doe"
 +
          },
 +
          {
 +
              "Name":"StoreCode",
 +
              "Value":"001"
 +
          },
 +
          {
 +
              "Name":"InputSource",
 +
              "Value":"Partner"
 +
          }
 +
        ],
 +
        "BooleanFields":[],
 +
        "Int32Fields":[],
 +
        "Int64Fields":[],
 +
        "DateFields":[
 +
          {
 +
              "Name":"Birthdate",
 +
              "Value":"1999-04-03T00:00:00"
 +
          },
 +
          {
 +
              "Name":"Anniversary",
 +
              "Value":null
 +
          },
 +
          {
 +
              "Name":"JoinDate",
 +
              "Value":"2014-12-04T00:00:00.000"
 +
          }
 +
        ],
 +
        "DecimalFields":[],
 +
        "Subscriptions":[
 +
          {
 +
              "ListID":"2147484225",
 +
              "IsSubscribed":true
 +
          },
 +
          {
 +
              "ListID":"2147485177",
 +
              "IsSubscribed":true
 +
          }
 +
        ],
 +
        "MemberTags":[]
 +
    }
 +
  ]  
 
  }
 
  }
 +
  
 +
== Adding a New Member<br/> ==
  
 +
A new member can be created by sending a POST request to the Members endpoint and adding them to the correct list ([[Getting_and_Creating_List|get ListID]]) for the Site ([[Getting_Site_Information|Get a SiteID]]).<br/><br/>'''Note: if you try to create member with an email address that already exists, a 409 error (Conflict) will be returned.'''
  
If this is the case, a new member can be created by sending a POST request to the Members endpoint. Note: if you try to create member with an email address that already exists, a 409 error (Conflict) will be returned.
+
==== Sample POST (Using SiteID - 1234567890 & ListID - 1122334455):<br/> ====
  
 
+
POST [http://enterprise.qa.fishbowl.com/api/odata/v1/SITE_ID/Members http://services.fishbowl.com/api/odata/v1/1234567890/Members] HTTP/1.1
 
+
==== Example: ====
+
 
+
  POST [http://enterprise.qa.fishbowl.com/api/odata/v1/SITE_ID/Members http://services.fishbowl.com/api/odata/v1/SITE_ID/Members] HTTP/1.1
+
 
  Accept: application/json
 
  Accept: application/json
 
  Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
 
  Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
Line 44: Line 105:
 
  Content-Type: application/json; charset=utf-8
 
  Content-Type: application/json; charset=utf-8
 
  {
 
  {
  "SiteID":"2147483947",
+
  "SiteID":"1234567890",
  "EmailAddress":"johndoe@test.com",
+
  "EmailAddress":"johndoe@test.com",
  "SubscriptionsForMember":[
+
  "SubscriptionsForMember":[
      {
+
    {
        "ListID":"2147484225",
+
        "ListID":"1122334455",
        "IsSubscribed":true
+
        "IsSubscribed":true
      },
+
    }
      {
+
  ],
        "ListID":"2147485177",
+
  "StringFields":[
        "IsSubscribed":true
+
    {
      }
+
        "Name":"FirstName",
  ],
+
        "Value":"John"
  "StringFields":[
+
    },
      {
+
    {
        "Name":"FirstName",
+
        "Name":"LastName",
        "Value":"John"
+
        "Value":"Doe"
      },
+
    },
      {
+
    {
        "Name":"LastName",
+
        "Name":"StoreCode",
        "Value":"Doe"
+
        "Value":"001"
      },
+
    },
      {
+
    {
        "Name":"StoreCode",
+
        "Name":"InputSource",
        "Value":"001"
+
        "Value":"Partner"
      },
+
    }
      {
+
  ],
        "Name":"InputSource",
+
  "DateFields":[
        "Value":"Partner"
+
    {
      }
+
        "Name":"Birthdate",
  ],
+
        "Value":"1999-04-03T00:00:00"
  "DateFields":[
+
    },
      {
+
    {
        "Name":"Birthdate",
+
        "Name":"Anniversary",
        "Value":"1999-04-03T00:00:00"
+
        "Value":null
      },
+
    },
      {
+
    {
        "Name":"Anniversary",
+
        "Name":"JoinDate",
        "Value":null
+
        "Value":"2014-12-04T00:00:00"
      },
+
    }
      {
+
  ]
        "Name":"JoinDate",
+
        "Value":"2014-12-04T00:00:00"
+
      }
+
  ]
+
 
  }
 
  }
 
   
 
   
  
<br/>If the response contains member data, member already exists.
+
== Updating a Member<br/>  ==
 
+
 
+
 
+
  {
+
  "odata.metadata":"[http://enterprise.qa.fishbowl.com/API/odata/v1/2147483947/ http://services.fishbowl.com/API/odata/v1/2147483947/]
+
                    $metadata#Members",
+
  "value":[
+
      {
+
        "MemberID":"2148166490",
+
        "SiteID":"2147483947",
+
        "EmailAddress":"johndoe@test.com",
+
        "HardBounces":0,
+
        "SoftBounces":0,
+
        "Suppressed":false,
+
        "IsTester":false,
+
        "CreatedUtc":"2014-11-07T17:13:23.88Z",
+
        "LastUpdatedUtc":"0001-01-01T05:00:00Z",
+
        "StringFields":[
+
            {
+
              "Name":"FirstName",
+
              "Value":"John"
+
            },
+
            {
+
              "Name":"LastName",
+
              "Value":"Doe"
+
            },
+
            {
+
              "Name":"StoreCode",
+
              "Value":"001"
+
            },
+
            {
+
              "Name":"InputSource",
+
              "Value":"Partner"
+
            }
+
        ],
+
        "BooleanFields":[],
+
        "Int32Fields":[],
+
        "Int64Fields":[],
+
        "DateFields":[
+
            {
+
              "Name":"Birthdate",
+
              "Value":"1999-04-03T00:00:00"
+
            },
+
            {
+
              "Name":"Anniversary",
+
              "Value":null
+
            },
+
            {
+
              "Name":"JoinDate",
+
              "Value":"2014-12-04T00:00:00.000"
+
            }
+
        ],
+
        "DecimalFields":[],
+
        "Subscriptions":[
+
            {
+
              "ListID":"2147484225",
+
              "IsSubscribed":true
+
            },
+
            {
+
              "ListID":"2147485177",
+
              "IsSubscribed":true
+
            }
+
        ],
+
        "MemberTags":[]
+
      }
+
  ]
+
}
+
   
+
  
 
<br/>To update the member record and/or subscribe the member to additional list(s), send a PATCH or MERGE request to the Members endpoint and include the member ID as parameter (Member ID can be obtained from the response).
 
<br/>To update the member record and/or subscribe the member to additional list(s), send a PATCH or MERGE request to the Members endpoint and include the member ID as parameter (Member ID can be obtained from the response).
Line 167: Line 156:
  
  
==== Example: ====
+
==== Sample POST (Using SiteID - 1234567890 & ListID - 1122334455)<br/> ====
  
  MERGE [http://enterprise.qa.fishbowl.com/API/odata/v1/SITE_ID/Members(MEMBER_IDL) http://services.fishbowl.com/API/odata/v1/SITE_ID/Members(MEMBER_IDL)]
+
MERGE http://services.fishbowl.com/API/odata/v1/1234567890/Members(MEMBER_IDL)
 
  HTTP/1.1
 
  HTTP/1.1
 
  Accept: application/json
 
  Accept: application/json
Line 178: Line 167:
 
  Content-Type: application/json; charset=utf-8
 
  Content-Type: application/json; charset=utf-8
 
  {
 
  {
  "SiteID":"2147483947",
+
  "SiteID":"1234567890",
  "MemberID":"2148166490",
+
  "MemberID":"9876543210",
  "EmailAddress":"johndoe@test.com",
+
  "EmailAddress":"johndoe@test.com",
  "SubscriptionsForMember":[
+
  "SubscriptionsForMember":[
      {
+
    {
        "ListID":"2147484226",
+
        "ListID":"1122334455",
        "IsSubscribed":true         
+
        "IsSubscribed":true         
      }
+
    }
  ],
+
  ],
  "StringFields":[
+
  "StringFields":[
      {
+
    {
        "Name":"FirstName",
+
        "Name":"FirstName",
        "Value":"John"
+
        "Value":"John"
      },
+
    },
      {
+
    {
        "Name":"LastName",
+
        "Name":"LastName",
        "Value":"Doe"
+
        "Value":"Doe"
      },
+
    },
      {
+
    {
        "Name":"StoreCode",
+
        "Name":"StoreCode",
        "Value":"001"
+
        "Value":"001"
      }
+
    }
  ],
+
  ],
  "DateFields":[
+
  "DateFields":[
      {
+
    {
        "Name":"Birthdate",
+
        "Name":"Birthdate",
        "Value":"1999-04-03T00:00:00"
+
        "Value":"1999-04-03T00:00:00"
      },
+
    },
      {
+
    {
        "Name":"Anniversary",
+
        "Name":"Anniversary",
        "Value":"2009-02-14T00:00:00"
+
        "Value":"2009-02-14T00:00:00"
      }
+
    }
  ]
+
  ]
 
  }
 
  }

Revision as of 17:01, 8 June 2015


Does a Member Exist?


Find out if a specific email address already exists in the site (get a SiteID). Send a GET request to the Members endpoint and include the email address in the $filter query string parameter.

Sample Request (Using 1234567890 as the SiteID):

GET http://services.fishbowl.com/api/odata/v1/SITE_ID/Members?$filter=EmailAddress
%20eq%20'johndoe@test.com' HTTP/1.1
Accept: application/json
Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
g6_Zm0yWi8P m60iPlmCCHUSwCX5Uru-OJq2jzhbT-E6nAc1OwzghTCmeoo0K69ubDBMFX5hyKlc
AjA9H3Vs-ZNjNYKarpSO5rA5ubG5-Va5Aigm9mp-Pre-EaGAY_HBdxZi-LBMSQ_mSjyIDPBpLFYP
BNzK3cu0xGobGsFLxPtDG3urs_4abXZtvxN8wm9rpsgr


Sample Respone When a Member is New (Does not exist):

{ 
 "odata.metadata":"http://services.fishbowl.com/API/odata/v1/1234567890/$metadata#Members",
 "value":[]
}

Sample Respone When a Member Exists in the Database:

  { 
 "odata.metadata":"http://services.fishbowl.com/API/odata/v1/2147483947/
                   $metadata#Members",
 "value":[ 
    { 
       "MemberID":"2148166490",
       "SiteID":"2147483947",
       "EmailAddress":"johndoe@test.com",
       "HardBounces":0,
       "SoftBounces":0,
       "Suppressed":false,
       "IsTester":false,
       "CreatedUtc":"2014-11-07T17:13:23.88Z",
       "LastUpdatedUtc":"0001-01-01T05:00:00Z",
       "StringFields":[ 
          { 
             "Name":"FirstName",
             "Value":"John" 
          },
          { 
             "Name":"LastName",
             "Value":"Doe" 
          },
          {
             "Name":"StoreCode",
             "Value":"001" 
          },
          {
             "Name":"InputSource",
             "Value":"Partner" 
          }
       ],
       "BooleanFields":[],
       "Int32Fields":[],
       "Int64Fields":[],
       "DateFields":[ 
          { 
             "Name":"Birthdate",
             "Value":"1999-04-03T00:00:00" 
          },
          { 
             "Name":"Anniversary",
             "Value":null 
          },
          { 
             "Name":"JoinDate",
             "Value":"2014-12-04T00:00:00.000" 
          }
       ],
       "DecimalFields":[],
       "Subscriptions":[ 
          {
             "ListID":"2147484225",
             "IsSubscribed":true
          },
          {
             "ListID":"2147485177",
             "IsSubscribed":true
          }
       ],
       "MemberTags":[] 
    } 
 ] 
}

Adding a New Member

A new member can be created by sending a POST request to the Members endpoint and adding them to the correct list (get ListID) for the Site (Get a SiteID).

Note: if you try to create member with an email address that already exists, a 409 error (Conflict) will be returned.

Sample POST (Using SiteID - 1234567890 & ListID - 1122334455):

POST http://services.fishbowl.com/api/odata/v1/1234567890/Members HTTP/1.1
Accept: application/json
Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
g6_Zm0yWi8P m60iPlmCCHUSwCX5Uru-OJq2jzhbT-E6nAc1OwzghTCmeoo0K69ubDBMFX5hyKlc
AjA9H3Vs-ZNjNYKarpSO5rA5ubG5-Va5Aigm9mp-Pre-EaGAY_HBdxZi-LBMSQ_mSjyIDPBpLFYP
BNzK3cu0xGobGsFLxPtDG3urs_4abXZtvxN8wm9rpsgr
Content-Type: application/json; charset=utf-8
{
 "SiteID":"1234567890",
 "EmailAddress":"johndoe@test.com",
 "SubscriptionsForMember":[
    {
       "ListID":"1122334455",
       "IsSubscribed":true
    }
 ],
 "StringFields":[
    {
       "Name":"FirstName",
       "Value":"John"
    },
    {
       "Name":"LastName",
       "Value":"Doe"
    },
    {
       "Name":"StoreCode",
       "Value":"001"
    },
    {
       "Name":"InputSource",
       "Value":"Partner"
    }
 ],
 "DateFields":[
    {
       "Name":"Birthdate",
       "Value":"1999-04-03T00:00:00"
    },
    {
       "Name":"Anniversary",
       "Value":null
    },
    {
       "Name":"JoinDate",
       "Value":"2014-12-04T00:00:00"
    }
 ]
}

Updating a Member


To update the member record and/or subscribe the member to additional list(s), send a PATCH or MERGE request to the Members endpoint and include the member ID as parameter (Member ID can be obtained from the response).


The request URL will have the following format: http://services.fishbowl.com/API/odata/v1/SITE_ID/Members(MEMBER_IDL) Note the L following the MemberID, which is used to indicate 64-bit integer, e.g.: (2148166490L)


Sample POST (Using SiteID - 1234567890 & ListID - 1122334455)

MERGE http://services.fishbowl.com/API/odata/v1/1234567890/Members(MEMBER_IDL)
HTTP/1.1
Accept: application/json
Authorization: Bearer u7kBYz1UhHkoRSc7V4gruBs-4sEpIkFV-F4LGiFMwfGwJNnT_JzNft
g6_Zm0yWi8P m60iPlmCCHUSwCX5Uru-OJq2jzhbT-E6nAc1OwzghTCmeoo0K69ubDBMFX5hyKlc
AjA9H3Vs-ZNjNYKarpSO5rA5ubG5-Va5Aigm9mp-Pre-EaGAY_HBdxZi-LBMSQ_mSjyIDPBpLFYP
BNzK3cu0xGobGsFLxPtDG3urs_4abXZtvxN8wm9rpsgr
Content-Type: application/json; charset=utf-8
{
 "SiteID":"1234567890",
 "MemberID":"9876543210",
 "EmailAddress":"johndoe@test.com",
 "SubscriptionsForMember":[
    {
       "ListID":"1122334455",
       "IsSubscribed":true         
    }
 ],
 "StringFields":[
    {
       "Name":"FirstName",
       "Value":"John"
    },
    {
       "Name":"LastName",
       "Value":"Doe"
    },
    {
       "Name":"StoreCode",
       "Value":"001"
    }
 ],
 "DateFields":[
    {
       "Name":"Birthdate",
       "Value":"1999-04-03T00:00:00"
    },
    {
       "Name":"Anniversary",
       "Value":"2009-02-14T00:00:00"
    }
 ]
}