{"_id":"560e915739fad419002ae1a6","parentDoc":null,"__v":6,"editedParams":true,"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"},"category":{"_id":"55f0365c8563861700a33765","version":"55dd9f4dab0e4d210045aae9","__v":10,"pages":["560d337799bb5a0d0044f2ae","560d3c1799bb5a0d0044f2b9","560e8b1fdfdd5a2100e8efd8","560e8c31c4e4ae0d00b42f3e","560e8f5159cb8d0d0015cd21","560e8faccac9dc0d007af836","560e915739fad419002ae1a6","560e9264c4e4ae0d00b42f4a","560e954d39fad419002ae1aa","561fb03b9dc7ce0d00c38c90"],"project":"55dd9f2e0efd5821000d54d9","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-09-09T13:38:36.012Z","from_sync":false,"order":16,"slug":"transactional-data","title":"Transactional data"},"project":"55dd9f2e0efd5821000d54d9","editedParams2":true,"updates":["5630d83e242cda1900198b06","5630db8ff1c0580d00fac6ab","5630dd13c3a8150d00fb7979"],"next":{"pages":[],"description":""},"createdAt":"2015-10-02T14:14:47.240Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[{"name":"","code":"var url = \"/v2/contacts/transactional-data/import/Purchases\";\nvar content = :::at:::\"[ { key: \"\"P00000002\"\", contactIdentifier: \"\"23\"\", json: \"\"{\n  \"\"PurchaseDate\"\": \"\"2014-05-24T14:03:21Z\"\",\n  \"\"TotalExTax\"\": 92.0000000000,\n  \"\"TotalIncTax\"\": 110.4000000000,\n  \"\"Product\"\": [\n    {\n      \"\"Name\"\": \"\"Cashmere cable-knit beanie\"\",\n      \"\"Brand\"\": \"\"Paul Smith\"\",\n      \"\"Department\"\": \"\"Menswear\"\",\n      \"\"Category\"\": \"\"Hat\"\",\n      \"\"PriceExTax\"\": 88.0000000000,\n      \"\"ProductID\"\": \"\"24937\"\"\n    },\n    {\n      \"\"Name\"\": \"\"Armani Jeans beanie hat\"\",\n      \"\"Brand\"\": \"\"Armani Jeans\"\",\n      \"\"Department\"\": \"\"Menswear\"\",\n      \"\"Category\"\": \"\"Hat\"\",\n      \"\"PriceExTax\"\": 56.0000000000,\n      \"\"ProductID\"\": \"\"24938\"\"\n    }\n  ],\n  \"\"SalesChannel\"\": \"\"Online\"\",\n  \"\"SalesSubChannel\"\": \"\"myshop.com\"\"\n}\"\" }, { key: \"\"P00000003\"\", contactIdentifier: \"\"23\"\", json: \"\"{\n  \"\"PurchaseDate\"\": \"\"2014-06-11T15:03:21Z\"\",\n  \"\"TotalExTax\"\": 56.0000000000,\n  \"\"TotalIncTax\"\": 67.2000000000,\n  \"\"Product\"\": [\n    {\n      \"\"Name\"\": \"\"Armani Jeans beanie hat\"\",\n      \"\"Brand\"\": \"\"Armani Jeans\"\",\n      \"\"Department\"\": \"\"Menswear\"\",\n      \"\"Category\"\": \"\"Hat\"\",\n      \"\"PriceExTax\"\": 56.0000000000,\n      \"\"ProductID\"\": \"\"24938\"\"\n    }\n  ],\n  \"\"SalesChannel\"\": \"\"In store\"\",\n  \"\"SalesSubChannel\"\": \"\"Manchester\"\"\n}\"\" } ]\";\n\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.PostAsync(url, new StringContent(content, Encoding.UTF8, \"application/json\")).Result;\n}\n\n","language":"csharp"},{"code":"[\n  {\n    \"key\": \"P00000002\",\n    \"contactIdentifier\": \"23\",\n    \"json\": \"{\\r\\n  \\\"PurchaseDate\\\": \\\"2014-05-24T14:03:21Z\\\",\\r\\n  \\\"TotalExTax\\\": 92.0000000000,\\r\\n  \\\"TotalIncTax\\\": 110.4000000000,\\r\\n  \\\"Product\\\": [\\r\\n    {\\r\\n      \\\"Name\\\": \\\"Cashmere cable-knit beanie\\\",\\r\\n      \\\"Brand\\\": \\\"Paul Smith\\\",\\r\\n      \\\"Department\\\": \\\"Menswear\\\",\\r\\n      \\\"Category\\\": \\\"Hat\\\",\\r\\n      \\\"PriceExTax\\\": 88.0000000000,\\r\\n      \\\"ProductID\\\": \\\"24937\\\"\\r\\n    }\\r\\n  ],\\r\\n  \\\"SalesChannel\\\": \\\"In store\\\",\\r\\n  \\\"SalesSubChannel\\\": \\\"Manchester\\\"\\r\\n}\"\n  },\n  {\n    \"key\": \"P00000114\",\n    \"contactIdentifier\": \"23,\n    \"json\": \"{\\r\\n  \\\"PurchaseDate\\\": \\\"2014-06-11T15:03:21Z\\\",\\r\\n  \\\"TotalExTax\\\": 56.0000000000,\\r\\n  \\\"TotalIncTax\\\": 67.2000000000,\\r\\n  \\\"Product\\\": [\\r\\n    {\\r\\n      \\\"Name\\\": \\\"Armani Jeans beanie hat\\\",\\r\\n      \\\"Brand\\\": \\\"Armani Jeans\\\",\\r\\n      \\\"Department\\\": \\\"Menswear\\\",\\r\\n      \\\"Category\\\": \\\"Hat\\\",\\r\\n      \\\"PriceExTax\\\": 56.0000000000,\\r\\n      \\\"ProductID\\\": \\\"24938\\\"\\r\\n    }\\r\\n  ],\\r\\n  \\\"SalesChannel\\\": \\\"In store\\\",\\r\\n  \\\"SalesSubChannel\\\": \\\"Manchester\\\"\\r\\n}\"\n  }\n]","language":"json"}]},"method":"post","results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": \"842d81e8-c619-457f-bb77-ab6c4a17da39\",\n  \"status\": \"NotStarted\"\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"560d3313ac2859170013fb14","ref":"","in":"path","required":true,"desc":"The name of the transactional data collection, which needs to be included within the URL","default":"","type":"string","name":"CollectionName"},{"_id":"562c359f12613e1900c57fee","ref":"","in":"body","required":true,"desc":"The key for the piece of transactional data, which needs to be included within the request body","default":"","type":"string","name":"Key"},{"_id":"562c359f12613e1900c57fed","ref":"","in":"body","required":true,"desc":"Either the ID or email address of the contact that the transactional data is being added to, which needs to be included in the request body. If adding AccountInsight data to your account, use \"account\" as the identifier instead.","default":"","type":"string","name":"ContactIdentifier"},{"_id":"562c359f12613e1900c57fec","ref":"","in":"body","required":true,"desc":"This is the form in which transactional data is stored against a contact, as key-value pairs serialisable to JSON. This needs to be included within the request body.","default":"","type":"string","name":"Json"}],"url":"/v:version/contacts/transactional-data/import/[CollectionName]"},"isReference":false,"order":1,"body":"This operation adds multiple pieces of transactional data to contacts asynchronously, which returns an identifier that can be used to check for import progress via the [Get transactional data import status](doc:get-transactional-data-import-status) operation.\n\nThis operation can be used to add multiple pieces of AccountInsight data, in which case the contact identifier used should be \"account\".\n\nA maximum of 15MB of transactional data can be uploaded in a request.\n\nPlease note that valid transactional data collection names must be unique, even if the collections are differently scoped (e.g. one collection is contact-scoped and another collection is account-scoped (AccountInsight)). \n\nCollection names can only contain alphanumeric characters (A-Z, a-z, 0-9), dashes ( - ) and underscores ( _ ), they can't start with a number and they can't exceed 255 characters in length.\n\nThe possible status types are:\n\n  * 'NotStarted' - The import has been accepted, but has not yet started to process\n  * 'NotFinished' - The import has been accepted, and has started but is yet to finish\n  * 'Finished' - The import has successfully finished processing\n  * 'Failed' - The import failed processing\n  * 'NotAvailableInThisVersion' - This feature is not available in the version of the API you're using","excerpt":"Adds multiple pieces of transactional data to contacts asynchronously","slug":"bulk-add-transactional-data-to-contacts","type":"endpoint","title":"Bulk add transactional data to contacts"}

postBulk add transactional data to contacts

Adds multiple pieces of transactional data to contacts asynchronously

Definition

{{ api_url }}{{ page_api_url }}

Parameters

Path Params

CollectionName:
required
string
The name of the transactional data collection, which needs to be included within the URL

Body Params

Key:
required
string
The key for the piece of transactional data, which needs to be included within the request body
ContactIdentifier:
required
string
Either the ID or email address of the contact that the transactional data is being added to, which needs to be included in the request body. If adding AccountInsight data to your account, use "account" as the identifier instead.
Json:
required
string
This is the form in which transactional data is stored against a contact, as key-value pairs serialisable to JSON. This needs to be included within the request body.

Examples


Result Format


Documentation

This operation adds multiple pieces of transactional data to contacts asynchronously, which returns an identifier that can be used to check for import progress via the [Get transactional data import status](doc:get-transactional-data-import-status) operation. This operation can be used to add multiple pieces of AccountInsight data, in which case the contact identifier used should be "account". A maximum of 15MB of transactional data can be uploaded in a request. Please note that valid transactional data collection names must be unique, even if the collections are differently scoped (e.g. one collection is contact-scoped and another collection is account-scoped (AccountInsight)). Collection names can only contain alphanumeric characters (A-Z, a-z, 0-9), dashes ( - ) and underscores ( _ ), they can't start with a number and they can't exceed 255 characters in length. The possible status types are: * 'NotStarted' - The import has been accepted, but has not yet started to process * 'NotFinished' - The import has been accepted, and has started but is yet to finish * 'Finished' - The import has successfully finished processing * 'Failed' - The import failed processing * 'NotAvailableInThisVersion' - This feature is not available in the version of the API you're using