Create product


Create new product with HTTP POST request.

POST

/products/product_event/

Data
Type
Description
client
integer
Client ID
event_type
string
Type of event committed by Client, find defined choices here
data
json
Additional data. Key:Values will create new attributes for Product, custom_data key may contain additional custom json defined data
timestamp
timestamp
Date when this event was performed in UNIX format
curl -X POST \
  https://app.userengage.com/api/public/products/49/product_event/ \
  -H 'authorization: Token <your_64_char_api_key>' \
  -H 'content-type: application/json' \
  -d '{
	"client": 431,
	"event_type": "order",
	"timestamp": 1426967129,
	"data": {
		"create attribute for product": "my value",
		"custom_data": {
			"custom client": "json data"
		}
	}
}'

Response

{
    "id": 388
}
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://app.userengage.com/api/public/products/49/product_event/",
  "method": "POST",
  "headers": {
    "authorization": "Token <your_64_char_api_key>",
    "content-type": "application/json"
  },
  "processData": false,
  "data": "{\n\t\"client\": 431,\n\t\"event_type\": \"order\",\n\t\"timestamp\": 1426967129,\n\t\"data\": {\n\t\t\"create attribute for event's product\": \"my value\",\n\t\t\"custom_data\": {\n\t\t\t\"custom client\": \"json data\"\n\t\t}\n\t}\n}"
}

$.ajax(settings).done(function (response) {
  console.log(response);
});
var data = JSON.stringify({
  "client": 431,
  "event_type": "order",
  "timestamp": 1426967129,
  "data": {
    "create attribute for event's product": "my value",
    "custom_data": {
      "custom client": "json data"
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://app.userengage.com/api/public/products/49/product_event/");
xhr.setRequestHeader("authorization", "Token <your_64_char_api_key>");
xhr.setRequestHeader("content-type", "application/json");

xhr.send(data);
var request = require("request");

var options = { method: 'POST',
  url: 'https://app.userengage.com/api/public/products/49/product_event/',
  headers:
   { 'content-type': 'application/json',
     authorization: 'Token <your_64_char_api_key>' },
  body:
   { client: 431,
     event_type: 'order',
     timestamp: 1426967129,
     data:
      { 'create attribute for event\'s product': 'my value',
        custom_data: { 'custom client': 'json data' } } },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://app.userengage.com/api/public/products/49/product_event/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\n\t\"client\": 431,\n\t\"event_type\": \"order\",\n\t\"timestamp\": 1426967129,\n\t\"data\": {\n\t\t\"create attribute for event's product\": \"my value\",\n\t\t\"custom_data\": {\n\t\t\t\"custom client\": \"json data\"\n\t\t}\n\t}\n}",
  CURLOPT_HTTPHEADER => array(
    "authorization: Token <your_64_char_api_key>",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
import requests

url = "https://app.userengage.com/api/public/products/49/product_event/"

payload = "{\n\t\"client\": 431,\n\t\"event_type\": \"order\",\n\t\"timestamp\": 1426967129,\n\t\"data\": {\n\t\t\"create attribute for event's product\": \"my value\",\n\t\t\"custom_data\": {\n\t\t\t\"custom client\": \"json data\"\n\t\t}\n\t}\n}"
headers = {
    'authorization': "Token <your_64_char_api_key>",
    'content-type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)