API Documentation - Push Events
Find out how brands and retailers can benefit from automated fashion e-commerce imagery
The API can be used for (each item is linkable below):
Data Import
Image Storage
Image Padding
Image Metadata
Image Resize
Image File Format
Push Events
The Looklet push events are sent to a base URL defined by the customer. Each event has a dedicated sub path that is appended to the end of the base URL. An example:
-
Base URL: https://example.com/integration/looklet
-
URL Sub Path: /item-created
-
Final URL: https://example.com/integration/looklet/item-created
The following information applies for all push events:
URL: Base URL + URL Sub Path
Method: POST
Response codes: 200 OK
Requires authentication: true | false (Basic Auth)
Encoding: Application/x-www-form-urlencoded data (charset=UTF-8)
Query Parameters
PARAMETER |
REQUIRED |
DETAILS |
---|---|---|
id |
true |
UUID. Unique message id |
version |
true |
Number. API request version number. |
deprecated |
true |
Boolean. Indicates whether this API request is deprecated or not. |
timestamp |
true |
Unix timestamp. Example: 1456996672 |
content |
true |
JSON content. |
Item Created Event
Description |
Callback for a created item. |
---|---|
URL Sub Path |
/item-created |
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"studio": "Studio 1",
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"designer": "DesignerName",
"category": "Dress",
"batches": [
"example-batch1",
"example-batch2"
],
"colorLabel": "GREEN",
"tags": [
"Batch 1",
"Batch 2"
],
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
],
"comments": [
{
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"timestamp": 1456996672,
"comment": "Comment text"
}
]
}
"externalId": "ABCD-1234",
"itemId": 321632,
"studio": "Studio 1",
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"designer": "DesignerName",
"category": "Dress",
"batches": [
"example-batch1",
"example-batch2"
],
"colorLabel": "GREEN",
"tags": [
"Batch 1",
"Batch 2"
],
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
],
"comments": [
{
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"timestamp": 1456996672,
"comment": "Comment text"
}
]
}
Item Updated Event
Description |
Callback for an updated item. |
---|---|
URL Sub Path |
/item-updated |
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"studio": "Studio 1",
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"designer": "DesignerName",
"category": "Dress",
"batches": [
"example-batch1",
"example-batch2"
],
"colorLabel": "GREEN",
"groups": [
"Group 1",
"Group 2"
],
"tags": [
"Batch 1",
"Batch 2"
],
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
],
"comments": [
{
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"timestamp": 1456996672,
"comment": "Comment text"
}
]
}
"externalId": "ABCD-1234",
"itemId": 321632,
"studio": "Studio 1",
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"designer": "DesignerName",
"category": "Dress",
"batches": [
"example-batch1",
"example-batch2"
],
"colorLabel": "GREEN",
"groups": [
"Group 1",
"Group 2"
],
"tags": [
"Batch 1",
"Batch 2"
],
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
],
"comments": [
{
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"timestamp": 1456996672,
"comment": "Comment text"
}
]
}
Item Approved Event
Description |
Callback for a created item. |
---|---|
URL Sub Path |
/item-created |
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"approvedBy": {
"name": "Looklet",
"email": "no-reply@looklet.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}
"externalId": "ABCD-1234",
"itemId": 321632,
"approvedBy": {
"name": "Looklet",
"email": "no-reply@looklet.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}
Item Exported Event
Description |
Callback for an updated item. |
---|---|
URL Sub Path |
/item-updated |
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"exportedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"model": {
"id": 20,
"variantId": 215
},
"scene": {
"id": 5,
"variantId": 102
},
"items": [
{
"id": 123,
"variantId": 2312,
"externalId": "external-id-1"
},
{
"id": 124,
"variantId": 23122,
"externalId": "external-id-2"
},
{
"id": 122,
"variantId": 23121,
"externalId": "external-id-3"
}
],
"looks": [
{
"pose": "Ella",
"angle": "Front",
"name": "1_ABCD-123_FRONT",
"url": "https://url.to.image"
},
{
"pose": "Ella",
"angle": "Back Left",
"name": "1_ABCD-123_SIDEBACK",
"url": "https://url.to.image"
},
{
"pose": "Ella",
"angle": "Back",
"name": "1_ABCD-123_BACK",
"url": "https://url.to.image"
}
]
}
"externalId": "ABCD-1234",
"itemId": 321632,
"exportedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"model": {
"id": 20,
"variantId": 215
},
"scene": {
"id": 5,
"variantId": 102
},
"items": [
{
"id": 123,
"variantId": 2312,
"externalId": "external-id-1"
},
{
"id": 124,
"variantId": 23122,
"externalId": "external-id-2"
},
{
"id": 122,
"variantId": 23121,
"externalId": "external-id-3"
}
],
"looks": [
{
"pose": "Ella",
"angle": "Front",
"name": "1_ABCD-123_FRONT",
"url": "https://url.to.image"
},
{
"pose": "Ella",
"angle": "Back Left",
"name": "1_ABCD-123_SIDEBACK",
"url": "https://url.to.image"
},
{
"pose": "Ella",
"angle": "Back",
"name": "1_ABCD-123_BACK",
"url": "https://url.to.image"
}
]
}
Display Exported Event
Description |
Callback for an exported display image. |
---|---|
URL Sub Path |
/display-exported |
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"exportedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"display": {
"id": 10001,
"url": "https://url.to.image",
"name": "display image name"
}
}
Looks Assigned to Group Event
Description |
Callback for an item that was assigned to a Group1. |
---|---|
URL Sub Path |
/looks-assigned-to-group |
This event will contain the item along with the id of the Group that the item was assigned to as well as the id of the Group the item was assigned from.
Note: This can be used detect when an item was sent to QC - The Group would change from null to QCID2. It can also be used to detect when the item is returned from QC - The Group would change from QCID2 to null.
1 A Group of accounts. Tip: This is most probably the Quality Control Group2
2 QCID: Ask your Looklet representative what your Quality Control Group ID is.
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"looksAssignedFromGroup": null,
"looksAssignedToGroup": 35
}
Rejected Quality Control Event
Description |
Callback for an item rejected to quality control. |
---|---|
URL Sub Path |
/rejected-quality-control |
This event will only contain the views or displays that have been rejected for quality control as a consequence of the event action.
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"rejectedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}
Item Rejected Reshoot Event
Description |
Callback for an item rejected for reshoot. |
---|---|
URL Sub Path |
/item-rejected-reshoot |
This event will only contain the views or displays that have been rejected for reshoot as a consequence of the event action.
Example JSON content:
{
"externalId": "ABCD-1234",
"itemId": 321632,
"rejectedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}