openapi: 3.0.1 info: title: 1WorldSync Content1 FetchProduct API description: "
1WorldSync Content1 API
\n
\n

Content1 will provide access to accurate, trusted product data sourced directly from the Brand Owners through 1WorldSync’s APIs. This full set of product information is readily available to you through a set of web services, allowing you to get up-to-date, complete product information.

\n\nThe following APIs are available\n \n

This tool features a fully functional form which will call the Content1 API in real time. To unlock the API call, you must have your client secret key provided through developer.1worldsync.com. Enter that key in the top right of this page to unlock the API calls used below.

" contact: url: http://support.1worldsync.com email: 1ws-im-apps-build@syndigo.com version: V1 servers: - url: https://content1-api.1worldsync.com description: Production Server tags: - name: FetchProduct paths: /V1/product/count: post: tags: - FetchProduct summary: This method will return product count for a given search criteria. description: This method will return product count for a given search criteria. operationId: fetchItemCountByCriteria parameters: - name: appid in: header description: API User App Id required: true allowEmptyValue: false schema: type: string example: '' - name: hashcode in: header description: Hash of secret key, URL and timestamp required: true allowEmptyValue: false schema: type: string example: hashcode - name: timestamp in: query description: Current Timestamp in YYYY-MM-DDTHH:mm:ssZ format required: true allowEmptyValue: false schema: type: string example: '2023-02-28T13:37:59Z' - name: gln in: header description: Data requested for the GLNs (comma separated for multiple, no space required or Click the "Add Item" button) required: false allowEmptyValue: false schema: type: Array example: '' requestBody: description: Criteria JSON content: application/json: schema: $ref: '#/components/schemas/ItemFetchRequest' required: true responses: '500': description: when error occurred in processing content: application/json: schema: $ref: '#/components/schemas/ItemFetchError' '200': description: will return count of products on a given criteria content: application/json: schema: $ref: '#/components/schemas/ItemCount' '401': description: For any Authorization, Authentication and validation error content: application/json: schema: $ref: '#/components/schemas/ItemFetchError' /V1/product/fetch: post: tags: - FetchProduct summary: This method will return list of products for a given search criteria. description: This method will search for products on a given search criteria and will return data in paged way. Page size can be mentioned in the request parameter. Using of "searchAfter" in request body will give you next page data. operationId: fetchItemByCriteria parameters: - name: appid in: header description: API User App Id required: true allowEmptyValue: false schema: type: string example: '' - name: hashcode in: header description: Hash of secret key, URL and timestamp required: true allowEmptyValue: false schema: type: string example: hashcode - name: timestamp in: query description: Current Timestamp in YYYY-MM-DDTHH:mm:ssZ format required: true allowEmptyValue: false schema: type: string example: '2023-02-28T13:37:59Z' - name: pageSize in: query description: Page size, default to 1000 required: true allowEmptyValue: false schema: maximum: 1000 type: integer example: '1000' - name: gln in: header description: Data requested for the GLNs (comma separated for multiple, no space required or Click the "Add Item" button) required: false allowEmptyValue: false schema: type: Array example: '' requestBody: description: Criteria JSON content: application/json: schema: $ref: '#/components/schemas/ItemFetchRequest' required: true responses: '500': description:

content: application/json: schema: $ref: '#/components/schemas/ItemFetchError' '200': description: 'Will return list of products. ' content: application/json: schema: $ref: '#/components/schemas/ItemFetchResult' '204': description: When no products found. '401': description: For any Authorization, Authentication and validation error content: application/json: schema: $ref: '#/components/schemas/ItemFetchError' /V1/product/hierarchy: post: tags: - FetchProduct summary: Fetch item hierarchy details. description: This method will return item hierarchy details based on a given search criteria and will return data with pagination. Page size can be mentioned in the "size" parameter. Using of "searchAfter" in request body loads next page. operationId: fetchHierarchiesByCriteria parameters: - name: appid in: header description: API User App Id required: true allowEmptyValue: false schema: type: string example: '' - name: hashcode in: header description: Hash of secret key, URL and timestamp required: true allowEmptyValue: false schema: type: string example: hashcode - name: timestamp in: query description: Current Timestamp in YYYY-MM-DDTHH:mm:ssZ format required: true allowEmptyValue: false schema: type: string example: '2023-02-28T13:37:59Z' - name: pageSize in: query description: Page size, default to 1000 required: true allowEmptyValue: false schema: maximum: 1000 type: integer example: '1000' - name: gln in: header description: Data requested for the GLNs (comma separated for multiple, no space required or Click the "Add Item" button) required: false allowEmptyValue: false schema: type: Array example: '' requestBody: description: Criteria JSON content: application/json: schema: $ref: '#/components/schemas/FetchHierarchyRequest' required: true responses: '500': description:

content: application/json: schema: $ref: '#/components/schemas/ItemFetchError' '200': description: Returns item hierarchy details. content: application/json: schema: $ref: '#/components/schemas/HierarchyFetchResult' '401': description: For any Authorization, Authentication and validation error content: application/json: schema: $ref: '#/components/schemas/ItemFetchError' components: schemas: ItemFetchRequest: type: object properties: gtins: type: array items: type: string pullHierarchy: type: boolean description: Flag to indicate whether to include hierarchy in the response nullable: true example: false gtin: type: array description: Item GTIN array nullable: true example: [] items: type: string description: Item GTIN array nullable: true example: '[]' ipGln: maxLength: 14 minLength: 14 type: string description: Information Provider GLN format: d{14} nullable: true example: 0838016005012 targetMarket: maxLength: 3 minLength: 1 type: string description: Target Market nullable: true example: US lastModifiedDate: $ref: '#/components/schemas/LastModifiedDate' brandName: type: string description: Brand name (supports wildcard) nullable: true example: Brand Name productType: maxLength: 3 minLength: 1 type: string description: Product Type nullable: true example: EA isConsumerUnit: type: string description: Consumer Unit nullable: true example: 'false' gpcCode: type: string description: GPC code or name (supports wildcard) nullable: true example: '10000248' upcCode: type: string description: UPC code (supports wildcard) nullable: true example: '123456789128' sortFields: uniqueItems: true type: array description: Fields that will be sorted upon nullable: true example: - field: lastModifiedDate desc: 'true' - field: gtin desc: 'false' items: $ref: '#/components/schemas/SortField' fields: $ref: '#/components/schemas/FetchFields' searchAfter: type: array description: This field is used to fetch item in batch. To retrieve the next page of the items. You need to set searchAfter in search criteria from previous result. nullable: true example: [] items: type: object description: This field is used to fetch item in batch. To retrieve the next page of the items. You need to set searchAfter in search criteria from previous result. nullable: true example: [] description: Product search criteria object SortField: type: object properties: field: type: string description: 'Fields that will be sorted upon. Ex: gtin, informationProviderGLN and targetMarket etc.' desc: type: boolean description: Fields that will be sorted upon nullable: true example: - field: lastModifiedDate desc: 'true' - field: gtin desc: 'false' HierarchyFetchResult: type: object properties: hierarchies: type: array description: Hierarchies of the item. items: $ref: '#/components/schemas/HierarchyDetails' message: type: string description: Response message. example: To retrieve the next page of products, pick what you have received in searchAfter and set it in next request. searchAfter: type: array description: This value is used to fetch next page of hierarchies. example: '[00637827872406,"US"]' items: type: object description: This value is used to fetch next page of hierarchies. example: '[00637827872406,"US"]' description: Hierarchy search result ItemFetchError: properties: requestId: type: string description: An unique id generated at server end to track processing of this request example: '12222' code: type: string description: Error code example: '[INTERNAL_SERVER_ERROR | REQUIRED_HEADER_APPID_MISSING]' reason: type: string description: Error reason in human readable form example: appId is missing description: Error response object. you will receive this object when there is an error in server side in processing example: '{"requestId":1334426,"code":"REQUIRED_HEADER_APPID_MISSING", "reason":"appId is missing in header" }' LastModifiedDate: type: object properties: from: $ref: '#/components/schemas/DateField' to: $ref: '#/components/schemas/DateField' description: Item last modified date nullable: true example: from: date: '2023-01-01' op: GTE to: date: '2023-01-31' op: LTE FetchHierarchyRequest: type: object properties: gtin: type: array description: Item GTIN array nullable: true example: [] items: type: string description: Item GTIN array nullable: true example: '[]' ipGln: maxLength: 14 minLength: 14 type: string description: Information Provider GLN format: d{14} nullable: true example: 0838016005012 lastModifiedDate: $ref: '#/components/schemas/LastModifiedDate' sortFields: uniqueItems: true type: array description: Fields that will be sorted upon nullable: true example: - field: lastModifiedDate desc: 'true' - field: gtin desc: 'false' items: $ref: '#/components/schemas/SortField' searchAfter: type: array description: This field is used to fetch item in batch. To retrieve the next page of the items. You need to set searchAfter in search criteria from previous result. nullable: true example: [] items: type: object description: This field is used to fetch item in batch. To retrieve the next page of the items. You need to set searchAfter in search criteria from previous result. nullable: true example: [] description: Hierarchy search criteria ItemFetchResult: type: object properties: items: type: array items: $ref: '#/components/schemas/Item' totalPages: type: integer description: This field used to set total page number for given search criteria. format: int64 currentPage: type: integer description: This field used to set pagination page number. format: int64 message: type: string description: This field used to set any warning message. example: Warning message totalCount: type: integer description: This field used to set total count. format: int64 searchAfter: type: array description: This field is used to fetch item in batch. To retrieve the next page of the items. You need to set it in search criteria. example: '[00637827872406,"US"]' items: type: object description: This field is used to fetch item in batch. To retrieve the next page of the items. You need to set it in search criteria. example: '[00637827872406,"US"]' description: Product search result ItemFetchHierarchy: type: object properties: parentGtin: type: string gtin: type: string quantity: type: string children: type: array items: $ref: '#/components/schemas/ItemFetchHierarchy' description: Hierarchy mapping Item: type: object properties: objId: type: string description: Elasticsearch objId example: '2334322' gln: type: string description: Item shared with gln example: 0838016005012 dataPoolType: type: string description: Item belongs to which data pool example: SDP item: type: object additionalProperties: type: object description: Item as map example: {} description: Item as map example: {} ItemCount: type: object properties: count: type: integer description: This is total product count for given criteria. format: int64 example: 1000 description: Product count result DateField: type: object properties: date: type: string description: Date example: '2022-01-15T00:00:00' op: type: string description: Date comparison operation type (ENUM) example: GT enum: - GT - GTE - LT - LTE - EQ description: LastModifiedDate To FetchFields: type: object properties: include: uniqueItems: true type: array description: 'To retrieve subset of attributes from item. Ex: ["gtin","informationProviderGLN","targetMarket","lastModifiedDate","brandName","gpcCategory","externalFileLink"]' example: [] items: type: string description: 'To retrieve subset of attributes from item. Ex: ["gtin","informationProviderGLN","targetMarket","lastModifiedDate","brandName","gpcCategory","externalFileLink"]' example: '[]' exclude: uniqueItems: true type: array description: 'To abandon some of attributes from item. Ex: ["*.gln","externalFileLink.authorizedRecipients"]' example: [] items: type: string description: 'To abandon some of attributes from item. Ex: ["*.gln","externalFileLink.authorizedRecipients"]' example: '[]' description: Fields to be include or exclude in result; By default all fields will be included nullable: true HierarchyDetails: type: object properties: gtin: type: string description: Item GTIN. example: 03007687545289 informationProviderGLN: type: string description: Information provider GLN. targetMarket: type: string description: Target market. hierarchy: type: array description: Item hierarchy list. items: $ref: '#/components/schemas/ItemFetchHierarchy' description: Item hierarchy details