Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Reasons to use HTTP API import

  1. Too many products in the database (over 200,000).
  2. New arrivals often come in small quantities, making it unreasonable to create a new XML with hundreds of thousands of products for the sake of a few new ones.
  3. Product changes must be applied more quickly than the time it takes to generate the XML and have it processed by the system.

Import Categories

This part describes how to import product categories into PersonaClick using HTTP API importget and use the required identifiers.



Request

EndpointRequest TypeContent TypeRate LimitMax Data Size
https://api.personaclick.com/import/categoriesinitPOSTapplication/json40 requests/minute32 MB/request

API Response 

HTTP status code

Description204 No content

Authentication was successful. The data was accepted and queued for processing in the background.

Note

If the data processing fails, the account owner and employees authorized to receive technical notifications will be sent an email describing the error.

400 Bad requestAuthorization failed.

Request Data Syntax

GET

Parameters

Product Object

NameTypeRequirementDescriptionidstringrequiredProduct ID. Max 64 symbols.availablebooleanrequiredProduct AvailabilitynamestringrequiredProduct Name. Max 255 symbols.pricenumberrequiredProduct PriceurlstringrequiredProduct Page URLpicturestringrequiredProduct Picture URLcategoriesarrayrequiredProduct Categories. See description below.currencystringrequiredCurrency code: USD, EUR, TRY, etc.oldpricenumberoptionallyProduct Old PricelocationsarrayoptionallyProduct Locations. See description below.brandstringoptionallyProduct BrandbarcodestringoptionallyProduct Barcodeprice_marginnumberoptionallyProduct MargintagsarrayoptionallyProduct-Related Tagsis_childbooleanoptionallyThe product is for children or notis_fashionbooleanoptionallyThe product is clothing or notfashionobjectoptionallyAdditional properties for a product from the clothing and accessories niche. See description below.cosmeticobjectoptionallyAdditional properties for a product from the cosmetic niche. See description below.childobjectoptionallyAdditional properties for a product from the cosmetic niche. See description below.bookobjectoptionallyAdditional properties for a product from the niche of children's products. See description below.paramsarrayoptionallyAdditional custom properties. See description below.is_newbooleanoptionallyThe product is from a new arrival.customer_recommendationsarrayoptionallyAllows setting manually recommended products for a specific product. Need to set in the array the product IDs.

Fashion Object

NameTypeRequirementDescriptiongenderstringoptionallyProduct relating to a specific gender. See the available values in the "Apparel & Accessories" section of the XML product feed.typestringoptionallyProduct relating to a specific type. See the available values in the "Apparel & Accessories" section of the XML product feed.sizesarrayrequired if the "type" property is setAn array of available sizes. See the size value format in the "Apparel & Accessories" section of the XML product feed.colorsarrayoptionallyObject array with available product colors and product image URLs to the corresponding color. See example below
NameTypeRequirementDescription
shop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settingsshop_secret
didstringrequired The store's Secret Key in PersonaClick. Located there: Account > Settings > Store Settings
categoriesarrayrequiredArray with category property objects. See description below.
Code Block
languagejs
themeFadeToGrey
{
    shop_id: "...",
    shop_secret: "...",
    categories: [category, category, ...]
} 

Category Object

NameTypeRequirementDescriptionidstringrequiredCategory IDnamestringrequiredCategory Nameparentstringrequired for subcategoriesParent category ID. This property must have NULL value for categories that have no parent category.urlstringoptionallyCategory URLaliasstringoptionallyCategory Page URL

Example of Categories Request

Code Block
languagejs
themeFadeToGrey
{
    "shop_id":     "eehj3eu84299kg5ghw5a6743r8",	
    "shop_secret": "pmd5362597thrgq8k256ep01t0",	
    "categories": [
        {
            "id":      1,
            "name":    "Main category",
            "parent":  null,
            "url":     "https://mysite.com/catalog",
            "alias":   "main"
        },
        {
            "id":      2,
            "name":    "Apparel",
            "parent":  1,
            "url":     "https://mysite.com/catalog/apparel",
            "alias":   "apparel"
        },
        {
            "id":      3,
            "name":    "Hoverboards",
            "parent":  1,
            "url":     "https://mysite.com/catalog/hoverboards",
            "alias":   "hoverboards"
        },
        {
            "id":      14,
            "name":    "Child Hoverboards",
            "parent":  3,
            "url":     "https://mysite.com/categories/hoverboards/child",
            "alias":   "hoverboards/child"
        }
	]
} 

Import Locations

This part describes how to import store locations into PersonaClick using HTTP API import.

Request

EndpointRequest TypeContent TypeRate LimitMax Data Sizehttps://api.personaclick.com/import/locationsPOSTapplication/json40 requests/minute32 MB/request

API Response 

HTTP status code

Description204 No content

Authentication was successful. The data was accepted and queued for processing in the background.

Note

If the data processing fails, the account owner and employees authorized to receive technical notifications will be sent an email describing the error.

400 Bad requestAuthorization failed.

Request Data Syntax

NameTypeRequirementDescriptionshop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settingsshop_secretstringrequiredThe store's Secret Key in PersonaClick. Located there: Account > Settings > Store SettingslocationsarrayrequiredArray with location objects. See description below.
Code Block
languagejs
themeFadeToGrey
{
    shop_id: "...",
    shop_secret: "...",
    locations: [location, location, ...]
} 

Location Object

NameTypeRequirementDescriptionidstringrequiredLocation IDnamestringrequiredLocation Nameparentstringrequired for sublocationsParent location ID. This property must have NULL value for categories that have no parent category.

Example of Categories Request

Code Block
languagejs
themeFadeToGrey
{
    shop_id:      "eehj3eu84299kg5ghw5a6743r8",  
    shop_secret:  "pmd5362597thrgq8k256ep01t0",
    locations:    [
        {
            id:           1,
            name:         "New York",
            parent:       null
        },
        {
            id:           2,
            name:         "Los Angeles",
            parent:       null
        },
        {
            id:           3,
            name:         "Brighton Beach",
            parent:       1
        },
        {
            id:           4,
            name:         "Beverly Hills",
            parent:       2
        }
    ]
} 

Requests for Import and Update

This part describes how to import products into PersonaClick using HTTP API import.

Requests

EndpointRequest TypesContent TypeRate LimitMax Data Sizehttps://api.personaclick.com/import/productsPOST, PUTapplication/json40 requests/minute32 MB/requestOperationRequest TypeDescriptionOverwritePOSTRewrite the database removing all previously imported records and adding new itemsAddPUTUpdate the database adding new items (no rewriting)
Tip

In the situation lacking a technical feasibility to send PUT request, use POST requests and add to the JSON-body a variable method with the corresponding value in the upper case: PUT.

API Response 

HTTP status code

Description204 No content

Authentication was successful. The data was accepted and queued for processing in the background.

Note

If the data processing fails, the account owner and employees authorized to receive technical notifications will be sent an email describing the error.

400 Bad requestAuthorization failed.

Request Data Syntax

NameTypeRequirementDescriptionshop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settingsshop_secretstringrequiredThe store's Secret Key in PersonaClick. Located there: Account > Settings > Store SettingsitemsarrayrequiredArray with product property objects. See description below.
if previously receivedUnique Device ID. See the API response below.
seancestringrequired if previously received within the current user sessionUnique ID of the current user session. See the API response below.
refererstringoptionallyRequest source URL
tznumberoptionallyThe time zone of the current user
streamstringoptionallyData stream code. Alphanumeric string (letters, numbers only). Max length: 16. The empty default value will mean "web". Can be "ios", "android" or any other string. Used to distinguish between mobile apps, websites, and other events sources.
testmodebooleanoptionallyAllows adding JS snippets that are in test mode status to the API response. See the API response below.

API Response Code

HTTP status code

Description
200 OK

Authentication was successful.

403 ForbiddenAuthentication failed.

API Response Data

NameTypeDescription
didstring

The unique ID of the current device.

Warning

When received, the device ID must be stored on your side or the user's device (in local storage or cookies) and must be used in the future for all requests that require it as a required parameter. Don't request a new Device ID if it has been requested before and is available.


seancestring

Unique ID of the current user session.

Warning

When received, the Session ID must be stored on your side or the user's device (in local storage or cookies) and must be used in all queries requiring it as a required parameter. You need to request a new Session ID every time the user starts a new session or if the ID has been lost for some reason.


snippetsObject Array

Array with JavaScript snippets. Located there: Account > Shared content > JS-snippets

Each object in the array contains properties:

  • code - javascript snippet code
  • name - snippet internal name
  • priority - snippet priority (the higher the value, the higher the priority)
auto_css_recommenderbooleanReserved for the JS SDK internal use
cmsstringReserved for the JS SDK internal use
currencystringReserved for the JS SDK internal use
email_collectorbooleanReserved for the JS SDK internal use
has_emailbooleanReserved for the JS SDK internal use
popupObjectReserved for the JS SDK internal use
recommendationsbooleanReserved for the JS SDK internal use
searchObjectReserved for the JS SDK internal use
viocebooleanReserved for the JS SDK internal use
web_push_settingsObjectReserved for the JS SDK internal use

Request Examples

For the first request for the Device ID and User Session ID.

Code Block
languagejs
themeFadeToGrey
{
    gender: "m",
	sizes:  ["XS", "S", "L"], // "M" and "XL" sizes aren't available
    type:   "shoe",
	colors: [
        {
            color: "blue",
            picture: "curl 'https://examplestore.com/product/100500/images/blue.jpg"
        }, 
        {
            color: "yellow",
            picture: "https://examplestore.com/product/100500/images/yellow.jpg"
        }
    ]
} 

Cosmetic Object

NameTypeRequirementDescriptiongenderstringoptionallyProduct relating to a specific gender. See the available values in the "Cosmetics & Perfumes" section of the XML product feed.hypoallergenicbooleanoptionallyThe product is hypoallergenic or not. Default value: false.skinobjectoptionallyAllows marking a product that relates to a specific skin type. Values for available properties: type, condition, part are available in the "Cosmetics & Perfumes" section of the XML product feed.hairobjectoptionallyAllows marking a product that relates to a specific hair type. Values for available properties: type, condition are available in the "Cosmetics & Perfumes" section of the XML product feed.nailobjectoptionallyAllows marking a product that relates to a specific nail type. Values for available properties: type, polish_color are available in the "Cosmetics & Perfumes" section of the XML product feed.perfumeobjectoptionallyAllows filling the product with the properties of the perfume niche. Values for available properties: family, aroma are available in the "Cosmetics & Perfumes" section of the XML product feed.periodicbooleanoptionallyThe product is professional or not. Default value: false.professionalbooleanoptionallyThe product is professional or not. Default value: false.

Child Object

NameTypeRequirementDescriptiongenderstringoptionallyProduct relating to a specific gender. See the available values in the "Baby & Children" section of the XML product feed.typestringoptionallyProduct relating to a specific type. See the available values in the "Baby & Children" section of the XML product feed.ageobjectoptionallyProduct relating to a specific age. See the available values in the "Baby & Children" section of the XML product feed.

Book Object

NameTypeRequirementDescriptionauthorstringoptionallyAllows specifying the author of a work, book, etc.publisherstringoptionallyAllows specifying the publisher of a work, book, etc.seriesstringoptionallyAllows specifying a series of works.yearnumberoptionallyAllows specifying the year of publishing.isbnarrayoptionallyAllows listing the ISBNs. The values in the array must be of string type.

Locations Array

Note

The "locations" array specifies the product availability status for various cities/towns as well as any alterations in price in these cities/towns. Your default price is used if the price alterations have not been stated in this object. 

NameTypeRequirementDescriptionlocationstringrequiredLocation IDpricenumberoptionallyPrice for locationoldpricenumberoptionallyOld price for location

Example of Products Request

api.personaclick.com/init?shop_id=0d42fd8b713d0752776ca589cc0056'


To update a user's Session ID.

Code Block
languagejs
themeFadeToGrey
{
    shop_id: "eehj3eu84299kg5ghw5a6743r8",   
    shop_secret: "pmd5362597thrgq8k256ep01t0",   
    items:            [
        {
            id:             "6335",
            name:           "Hoverboard 100500",
            price:          1000,
            currency:       "USD",
            url:            "https://examplestore.com/products/6335.html",
            picture:        "https://examplestore.com/pictures/6335.jpg",
            available:      true, 
            categories:     [14, 3],
            barcode:        0123456789,
            price_margin:   10,
            locations: [
                {
                    location: "New York"
                },
                {
                    location: "Los Angeles",
                    price: 1250,
                    oldprice: 1500
                }
            ],
            brand:          "Dr. Emmett Brown",
            tags:           ["titanium", "steel", "sport"],
            is_child:       true
        },
        {
            id:             133
            name:           "red jacket",
            price:          200,  
            currency:       "USD",
            url:            "https://examplestore.com/products/133.html",
            picture:        "https://examplestore.com/pictures/133.jpg",
            available:      true, 
            categories:     [33],
            locations: [
                { 
                    "location": "New York" 
                }
            ],
            brand:          "McFly",
            tags:           ["winter", "sport"],
            is_fashion:     true,
            fashion: {
                gender: "m",
                sizes: ["M", "L", "XXL"],
                type: "jacket"
            }
        }
    ]
}

Synchronization Request

Allows synchronizing the availability status of products. All products sent in the request will be marked as in stock, the rest as out of stock.

Requests

EndpointRequest TypeContent TypeRate LimitMax Data Sizehttps://api.personaclick.com/import/productsPATCHapplication/json40 requests/minute32 MB/requestOperationRequest TypeDescriptionSyncPATCHSync product availability status
Tip

In the situation lacking a technical feasibility to send PATCH request, use POST requests and add to the JSON-body a variable method with the corresponding value in the upper case: PATCH.

Request Data Syntax

NameTypeRequirementDescriptionshop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settingsshop_secretstringrequiredThe store's Secret Key in PersonaClick. Located there: Account > Settings > Store SettingsitemsarrayrequiredArray with product IDs that should be marked as in stock
curl 'https://api.personaclick.com/init?shop_id=0d42fd8b713d0752776ca589cc0056&did=7rjVGhMykT'


Full example when all IDs have already been received.

Code Block
languagejs
themeFadeToGrey
{
    shop_id:        "eehj3eu84299kg5ghw5a6743r8",	
    shop_secret:    "pmd5362597thrgq8k256ep01t0",	
    items:          [635, 3373, 75778]
}

API Response 

HTTP status code

Description204 No content

Authentication was successful. The data was accepted and queued for processing in the background.

Note

If the data processing fails, the account owner and employees authorized to receive technical notifications will be sent an email describing the error.

400 Bad requestAuthorization failed.

Deletion Request

Allows marking products in the request as out of stock. The statuses of the other products will remain unchanged.

Requests

EndpointRequest TypeContent TypeRate LimitMax Data Size
curl 'https://api.personaclick.com/
import/productsDELETEapplication/json40 requests/minute32 MB/requestOperationRequest TypeDescriptionRemoveDELETERemove selected items from the database (mark the selected items as "out of stock")
Tip

In the situation lacking a technical feasibility to send DELETE request, use POST requests and add to the JSON-body a variable method with the corresponding value in the upper case: DELETE.

Request Data Syntax

NameTypeRequirementDescriptionshop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settingsshop_secretstringrequiredThe store's Secret Key in PersonaClick. Located there: Account > Settings > Store SettingsitemsarrayrequiredArray with product IDs that should be marked as out of stock.
Code Block
languagejs
themeFadeToGrey
{
    shop_id:        "eehj3eu84299kg5ghw5a6743r8",	
    shop_secret:    "pmd5362597thrgq8k256ep01t0",	
    items:          [635, 3373, 75778]
}

API Response 

HTTP status code

Description204 No content

Authentication was successful. The data was accepted and queued for processing in the background.

Note

If the data processing fails, the account owner and employees authorized to receive technical notifications will be sent an email describing the error.

400 Bad requestAuthorization failed.
Table of ContentsmaxLevel2classpersonaclick-fixed-position
init?did=7rjVGhMykT&shop_id=0d42fd8b713d0752776ca589cc0056&referer=https%3A%2F%2Fmystore.com%2F&seance=R5eQXkrKCf&tz=3&testmode=true'



Column

Page Navigation

Table of Contents
maxLevel2
indent0px
stylenone




Related Pages

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
cqllabel = "initialization"