{"_id":"55f2e024fb7aad2300bf1823","category":{"_id":"55e047b258c5460d0076a9a7","__v":24,"project":"55dd9f2e0efd5821000d54d9","version":"55dd9f4dab0e4d210045aae9","pages":["55ed71142bdb6a2d0064f216","55ed71e1a872a80d00acff1a","55ed72a8df21af2b009e215f","55ef03aae7f5490d000c0dfd","55f1872e5fe76419007dc703","55f2af86d1c4c7170033df2b","55f2d812525cb12300c6c517","55f2db08c93a2d230062f971","55f2deaacb01c71900c8e218","55f2e024fb7aad2300bf1823","55f2e1f6525cb12300c6c554","55f2e47ffb7aad2300bf182b","55f2ea90525cb12300c6c56c","55f2ed9ecb01c71900c8e24a","55f2f26f71c6462100e0fdf1","55f2f2e3c93a2d230062f9af","55f2f3bdc93a2d230062f9b1","55fc1d6ae013770d008fcbf3","55fc249ff4dbbf0d008f43ef","55fc2bd3e013770d008fcc0b","55ffda3d8c0c9d0d00dcacb4","55ffdf828c0c9d0d00dcacba","55ffe1a56932a00d00ba7abc","560d322c3616cf0d00a8cc97"],"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-08-28T11:36:18.041Z","from_sync":false,"order":5,"slug":"contacts","title":"Contacts"},"editedParams2":true,"project":"55dd9f2e0efd5821000d54d9","user":"55dd9841cafe7221002a4c62","version":{"_id":"55dd9f4dab0e4d210045aae9","__v":39,"project":"55dd9f2e0efd5821000d54d9","createdAt":"2015-08-26T11:13:17.024Z","releaseDate":"2015-08-26T11:13:17.024Z","categories":["55dd9f4dab0e4d210045aaea","55ddb5fa9067202b00ddff6f","55e0472c6bad670d0081f213","55e04764a44fae0d00214671","55e047a9a44fae0d00214672","55e047b258c5460d0076a9a7","55e95e337fc27b2d00d32cf2","55e979bda7ca823900ad549a","55edb8c18dcb210d0056900b","55f0365c8563861700a33765","55f03677d58f9b1900acf996","55f036938eeefc23001ea5de","55f036a38563861700a33767","55f036c08563861700a33769","55f036d02911b72100482cd7","55f036e92911b72100482cd9","55f036fa8563861700a3376b","55f0370ee507711900e58c69","55f0371df6101b1900c70700","55f0374f2911b72100482cdb","55f0375e2911b72100482cdc","560eb0f659cb8d0d0015cd52","560eb25239fad419002ae1e0","561fb64d4d67490d00804b2a","562b9f775a39cd0d009aff22","562ba0505a39cd0d009aff23","562ba149d56bc30d00f0cb18","562ba595f68a5f0d007b1f3b","562ba78fd56bc30d00f0cb1b","562ba8b95a39cd0d009aff27","562baadf6562140d001501d2","562bab37f68a5f0d007b1f3d","562bc1bf9ebc950d000f7523","562bc99ced4bea0d00c11dfa","562bd29c1b98640d00714520","562bd5875a39cd0d009aff60","562bdfabff2da50d002c0aaf","562be0bd5a39cd0d009aff75","57a0b476d8313e1900454439"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"2.0.0","version":"2"},"__v":2,"editedParams":true,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-09-11T14:07:32.453Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[{"language":"csharp","name":"","code":"var url = \"/v2/contacts/100/\";\nvar content = :::at:::\"{ email: \"\"john.smith@example.com\"\", optInType: \"\"Double\"\", dataFields: [ { key: \"\"GENDER\"\", value: \"\"Male\"\" } ] }\";\nusing (var httpClient = new HttpClient())\n{\n\thttpClient.BaseAddress = new Uri(\"https://api.dotmailer.com\");\n\n\tvar credentials = Encoding.ASCII.GetBytes(\"username:password\");\n\thttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(\"Basic\", Convert.ToBase64String(credentials));\n\tvar result = httpClient.PutAsync(url, new StringContent(content, Encoding.UTF8, \"application/json\")).Result;\n}"},{"code":"{\n  \"email\": \"john.smith@example.com\",\n  \"optInType\": \"Double\",\n  \"dataFields\": [\n    {\n      \"key\": \"GENDER\",\n      \"value\": \"Male\"\n    }\n  ]\n}","language":"json"},{"code":"$content = [\n    'email' => 'john.smith@example.com',\n    'optInType' => 'Double',\n    'dataFields' => [\n        ['key' => 'GENDER',\n         'value' => 'Male']\n    ]\n];\n\n$baseUrl = 'https://api.dotmailer.com';\n$url = $baseUrl . \"/v2/contacts/123123123\";\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_URL, $url);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt(\n    $ch, CURLOPT_HTTPHEADER, array('Accept: application/json',\n                                   'Content-Type: application/json')\n);\ncurl_setopt($ch, CURLAUTH_BASIC, CURLAUTH_DIGEST);\ncurl_setopt(\n    $ch, CURLOPT_USERPWD,\n    $apiUsername . ':' . $apiPassword\n);\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"PUT\");\ncurl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($content));\n\n$response = json_decode(curl_exec($ch));","language":"php"}]},"method":"put","results":{"codes":[{"code":"{\n  \"id\": 100,\n  \"email\": \"john.smith@example.com\",\n  \"optInType\": \"Double\",\n  \"emailType\": \"PlainText\",\n  \"dataFields\": [\n    {\n      \"key\": \"FIRSTNAME\",\n      \"value\": \"John\"\n    },\n    {\n      \"key\": \"FULLNAME\",\n      \"value\": \"John Smith\"\n    },\n    {\n      \"key\": \"GENDER\",\n      \"value\": \"Male\"\n    },\n    {\n      \"key\": \"LASTNAME\",\n      \"value\": \"Smith\"\n    },\n    {\n      \"key\": \"POSTCODE\",\n      \"value\": null\n\t\t}\n  ],\n  \"status\": \"Subscribed\"\n}","name":"","status":200,"language":"json"}]},"settings":"","auth":"required","params":[{"_id":"55ddc96b9067202b00ddff93","ref":"","in":"body","required":true,"desc":"The email address of the contact, which needs to be included within the request body","default":"","type":"string","name":"Email"},{"_id":"55ddc96b9067202b00ddff92","ref":"","in":"body","required":false,"desc":"The opt-in type of the contact, which needs to be included within the request body","default":"'Unknown', 'Single', 'Double', 'VerifiedDouble'","type":"string","name":"OptInType"},{"_id":"55ddc96b9067202b00ddff91","ref":"","in":"body","required":false,"desc":"The email type of the contact, which needs to be included within the request body","default":"'PlainText', 'Html'","type":"string","name":"EmailType"},{"_id":"55ddcb4a9067202b00ddff96","ref":"","in":"body","required":false,"desc":"Each data field is a key-value pair; the key is a string and the value can be of any type","default":"","type":"string","name":"DataFields"},{"_id":"5804ad8ad1b3990f0020895b","ref":"","in":"path","required":true,"desc":"The ID of the contact, which needs to be included within the URL","default":"","type":"int","name":"ID"}],"url":"/v:version/contacts/[ID]"},"isReference":false,"order":2,"body":"This operation updates a contact within your account. The information entered will replace any existing information for the contact. \n\nIf you don’t specify the OptInType or the EmailType then they will get overwritten as 'Unknown' and 'PlainText' respectively.\n\nSetting the OptInType to 'VerifiedDouble' will result in a double opt-in confirmation email being sent to the contact. The result will state that the contact's OptInType is 'Double' and Status is 'PendingOptIn'. These will only update to 'VerifiedDouble'  and 'Subscribed' respectively once the contact has clicked the link in the confirmation email, at which point they will be added to the account. \n\nFurthermore, this operation can also be used to create a contact. This is done by using an ID that doesn't already exist, or by using 0, plus using an email address that doesn't already exist within your account. The contact will be created, with a valid ID assigned, in 'All contacts'.","excerpt":"Updates a contact by ID","slug":"update-contact","type":"endpoint","title":"Update contact"}

putUpdate contact

Updates a contact by ID

Definition

{{ api_url }}{{ page_api_url }}

Parameters

Path Params

ID:
required
integer
The ID of the contact, which needs to be included within the URL

Body Params

Email:
required
string
The email address of the contact, which needs to be included within the request body
OptInType:
string'Unknown', 'Single', 'Double', 'VerifiedDouble'
The opt-in type of the contact, which needs to be included within the request body
EmailType:
string'PlainText', 'Html'
The email type of the contact, which needs to be included within the request body
DataFields:
string
Each data field is a key-value pair; the key is a string and the value can be of any type

Examples


Result Format


Documentation

This operation updates a contact within your account. The information entered will replace any existing information for the contact. If you don’t specify the OptInType or the EmailType then they will get overwritten as 'Unknown' and 'PlainText' respectively. Setting the OptInType to 'VerifiedDouble' will result in a double opt-in confirmation email being sent to the contact. The result will state that the contact's OptInType is 'Double' and Status is 'PendingOptIn'. These will only update to 'VerifiedDouble' and 'Subscribed' respectively once the contact has clicked the link in the confirmation email, at which point they will be added to the account. Furthermore, this operation can also be used to create a contact. This is done by using an ID that doesn't already exist, or by using 0, plus using an email address that doesn't already exist within your account. The contact will be created, with a valid ID assigned, in 'All contacts'.