====== API - Contact Signup ======
This API method allows you to integrate with a Sentori signup form that you have created; for example, to connect your website's form to put contacts into Sentori.
The Contact Signup method is different to the [[api-import-contacts|API Contact Import]] method; it is intended to action a single contact signup rather than be a bulk operation.
In addition to adding a contact to Sentori, its integration with a [[forms|form]] allows it to action all of the features of the form you have built in Sentori: for example, double opt-in, assignment of [[mailing-lists|mailing lists]] and [[tags|tags]], the sending of alert emails, and the triggering of [[automation|automations]].
===== Overview =====
| URL | https://api.sentoriapp.com/webhooks/contact/signup.ashx |
| HTTP METHOD | POST |
| Content-Type | application/json |
===== JSON Request Parameters =====
^ Name ^ Required ^ Type ^ Description ^
| ApiKey | True | String | This is the key to access the API for your Sentori account. |
| EmailAddress | True | String | The Email Address of the Contact being signed up. |
| SignUpFormExternalID | True | String | The external ID of the Signup Form to use for this signup. |
| MailingLists | False | Array[] | Array of Mailing List External ID’s for the Contact to be subscribed to. |
| ContactFields | Dependent on Form Fields | Object {} | Object containing Contact Field key value pairs. Required if fields on form are required. |
| Tags | False | Array[] | Array of Tags that the Contact should be tagged with. |
| RequireConfirmation | False | String | Whether to await confirmation before applying the submitted values. "false" will immediately set the values. "true", or not specifying a value, will send a confirmation email. |
===== API Responses =====
^ HTTP Code ^ Status ^ Description ^
| 200 | OK | The Signup was successful. If RequireConfirmation was specified and set as “false” the submitted values have been set, otherwise the Contact will have been sent the opt-in confirmation email. |
| 206 | Contact created but failed to send confirmation email | The signup has been successful however the contact hasn’t been sent the opt-in confirmation email. |
| 400 | Invalid Parameters [*] | Some of the JSON parameters are missing or invalid. * is the name. |
| 403 | No API Key Specified | No API key was specified in the request JSON. |
| 404 | Account not found | The Sentori Account was not found, make sure the API key is correct. |
| 404 | Signup Form not found | There is no Signup form that matches SignupFormExternalID. |
| 404 | Mailing list not found [*] | The mailing list could not be found. * is the MailingListExternalID. |
| 404 | No Contact Fields submitted, but form has required fields | The Signup Form requires a Contact Field but no ContactFields in JSON. |
| 404 | Required Contact Field is missing or blank [*] | The Signup Form requires a Contact Field that either wasn’t specified or was blank. * is the Contact Field SystemName. |
| 404 | Tag not found [*] | The specified Tag could not be found. * is the Tag name. |
| 500 | Internal Error | The server has encountered a problem. |
===== Examples =====
==== Minimal example ====
=== Request ===
POST https://api.sentoriapp.com/webhooks/contact/signup.ashx HTTP/1.1
Host: api.sentoriapp.com
Content-Type: application/json
Content-Length: 144
{
"ApiKey":"00000000-0000-0000-0000-000000000000",
"EmailAddress":"example@sentoriapp.com",
"SignUpFormExternalID":"12ABCDE3"
}
=== Response ===
HTTP/1.1 200 Ok
Cache-Control: private
Transfer-Encoding: chunked
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 20 Jan 2014 15:41:38 GMT
==== Full example ====
=== Request ===
POST https://api.sentoriapp.com/webhooks/contact/signup.ashx HTTP/1.1
Host: api.sentoriapp.com
Content-Type: application/json
Content-Length: 269
{
"ApiKey":"00000000-0000-0000-0000-000000000000",
"EmailAddress":"example@sentoriapp.com",
"SignUpFormExternalID":"12ABCDE3",
"MailingLists":["QWERTY1A","ABCDEFG1"],
"ContactFields":{"FirstName":"Example", "LastName":"Contact"},
"Tags":["Example","SentoriApp"],
"RequireConfirmation":"true"
}
=== Response ===
HTTP/1.1 200 Ok
Cache-Control: private
Transfer-Encoding: chunked
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 20 Jan 2014 15:42:25 GMT