Skip to content
Build 8b0b16e

Arena Integration

Arena is PopSockets' PLM (Product Lifecycle Management) system. This integration exposes Arena item data through an internal experience service, allowing downstream systems to fetch item details by SKU.


Authentication

Requests to the experience service require an Azure API Management subscription key passed as a request header.

Header Required Description
Ocp-Apim-Subscription-Key Yes Azure API Management subscription key. Obtain from the Azure API Management portal or your team lead.

Note

Arena session authentication is handled internally by cm-product-sys. The service manages login and token caching automatically — callers do not need to pass Arena credentials.


Service Flow

The following diagram shows how a Get Item request flows through the internal service stack.

sequenceDiagram
    participant Client
    participant EXP as cm-int-service-exp
    participant PRC as cm-product-prc
    participant SYS as cm-product-sys
    participant Arena as Arena API

    Client->>EXP: GET /arena/item?item_number=708470
    EXP->>PRC: Forward request (item_number: 708470)
    PRC->>SYS: direct:arenaGetItem (itemNumber: 708470)

    SYS->>SYS: Check session token
    alt Token missing or expired
        SYS->>Arena: POST /login
        Arena-->>SYS: arenaSessionId + workspaceId
        SYS->>SYS: Cache token (TTL: 8 min)
    end

    SYS->>Arena: GET /items?item_number=708470
    Arena-->>SYS: Item details + additionalAttributes

    SYS->>Arena: GET /items/GUID/bom
    Arena-->>SYS: BOM line items (count: 5)

    SYS-->>PRC: Assembled item + BOM response
    PRC-->>EXP: arenaGetItem response
    EXP-->>Client: Full item JSON

Get Item

Fetch a single Arena item by item number (SKU).

Endpoint

GET https://integration-nonprod.popsockets.com/stage/cm-int-service-exp/arena/item

Query Parameters

Parameter Type Required Description
item_number string Yes The item number (SKU) to fetch

Example Request

GET https://integration-nonprod.popsockets.com/stage/cm-int-service-exp/arena/item?item_number=708470

Response Fields

Top-Level Fields

Field Type Description
guid string Arena's unique identifier for the item
number string Item number / SKU
name string Item display name
description string Short description of the item
assemblyType string Assembly classification (e.g. TOP_LEVEL_ASSEMBLY)
revisionNumber string Current revision (e.g. C)
revisionStatus string Status of the revision (e.g. EFFECTIVE)
effectiveDateTime string ISO 8601 datetime when this revision became effective
creationDateTime string ISO 8601 datetime when the item was created
modifiedBom boolean Whether the BOM has been modified in this revision
modifiedFiles boolean Whether files have been modified
modifiedSourcing boolean Whether sourcing has been modified
modifiedSpecs boolean Whether specs have been modified
procurementType string Procurement strategy (e.g. MTS = Make to Stock)
uom string Unit of measure (e.g. EACH)
offTheShelf boolean Whether the item is an off-the-shelf component
inAssembly boolean Whether this item appears in another assembly
isAssembly boolean Whether this item has a BOM
isLocked boolean Whether the item is locked from editing in Arena
shared boolean Whether the item is shared across workspaces
deviated boolean Whether the item has an active deviation
status integer Numeric status code
productionCost string Production cost (may be "0")
prototypeCost string Prototype cost (may be "0")
standardCost string/null Standard cost
targetCost string/null Target cost
targetPrice string/null Target price
materialEffectivityDateTime string ISO 8601 datetime for material effectivity
supersededDateTime string/null ISO 8601 datetime when superseded, or null

category

Field Type Description
guid string Arena category GUID
name string Category name (e.g. 7. Direct Sales)

lifecyclePhase

Field Type Description
guid string Lifecycle phase GUID
name string Phase name (e.g. In Production)

creator

Field Type Description
guid string Creator's Arena GUID
fullName string Full name
email string Email address

owner

Field Type Description
fullName string Full name of the item owner

url

Field Type Description
api string Direct Arena API URL for this item
app string Arena web app URL for this item

bom

Array of BOM line items. Each entry:

Field Type Description
skuCode string Child item SKU
name string Child item name
revisionNumber string Revision of the child item

additionalAttributes

Array of custom Arena attributes. Each entry:

Field Type Description
guid string Attribute GUID (same as apiName)
apiName string API key for the attribute
name string Human-readable attribute name
fieldType string Field type: FIXED_DROP_DOWN, SINGLE_LINE_TEXT, etc.
multiSelect boolean/null Whether multiple values can be selected (null for text fields)
value string Attribute value

Common attributes present on items:

Name Description
BOM Needed in Jackyun? Whether this item's BOM should sync to Jackyun
BOM Needed in NAV? Whether this item's BOM should sync to NAV
NAV Integration Whether this item is enabled for NAV sync
Jackyun Integration Whether this item is enabled for Jackyun sync
UPC UPC barcode
ITF-14 Case-level barcode
Case Quantity (ITF-14) Number of units per case
Inventory Posting Group NAV inventory posting group (e.g. FG)
Item Category Code NAV item category (e.g. Cases)
Product Group Code Product group (e.g. PopCase)
Product Family Product family (e.g. Standard)
Product Model Product model name
Parent Category Top-level category (e.g. Mobile Accessories)
Type Item type (e.g. Item)
Unit Height/Length/Width (mm) Unit dimensions
Unit Weight (g) Unit weight
ITF-14 Height/Length/Width (mm) Case dimensions
ITF-14 Weight (g) Case weight

Example Response

{
    "guid": "CUEX2Q4EX1KSBOMRK4J1",
    "number": "708470",
    "name": "PCS MS-iPh16Pr-Withes Brew Purple-GNFR",
    "description": "PCS MS-iPh16Pr-Withes Brew Purple-GNFR",
    "assemblyType": "TOP_LEVEL_ASSEMBLY",
    "revisionNumber": "C",
    "revisionStatus": "EFFECTIVE",
    "effectiveDateTime": "2025-08-01T02:51:16Z",
    "creationDateTime": "2024-07-29T03:25:15Z",
    "procurementType": "MTS",
    "uom": "EACH",
    "isAssembly": true,
    "isLocked": true,
    "lifecyclePhase": {
        "guid": "9RBUZN1BUYGJ2L4N0183",
        "name": "In Production"
    },
    "category": {
        "guid": "9RBUZN1BUYHRAT5ANNN2",
        "name": "7. Direct Sales"
    },
    "creator": {
        "email": "epan@popsockets.com",
        "fullName": "Erin Pan",
        "guid": "7P9SXLZ9SWDWFYH0WYJE"
    },
    "owner": {
        "fullName": "Leslie Joseph"
    },
    "url": {
        "api": "https://api.arenasolutions.com/v1/items/CUEX2Q4EX1KSBOMRK4J1",
        "app": "https://app.bom.com/CUEX2Q4EX1KSBOMRK4J1"
    },
    "bom": [
        {
            "skuCode": "11-005085",
            "name": "BULK PCS MS-iPh16Pr-Clear-NO CR",
            "revisionNumber": "A"
        },
        {
            "skuCode": "12-006744",
            "name": "BULK CAMERA RING-iPh16Pr/16PMx-White",
            "revisionNumber": "A"
        },
        {
            "skuCode": "13-009155",
            "name": "GRX-PCS-iPh16Pr-Withes Brew Purple",
            "revisionNumber": "A"
        },
        {
            "skuCode": "14-000450",
            "name": "PKG ASSY-PCS-CBX-GNFR",
            "revisionNumber": "A"
        },
        {
            "skuCode": "15-001310",
            "name": "PKG-PCS-PS Brand-5 Panel Wrap-GNFR",
            "revisionNumber": "A"
        }
    ],
    "additionalAttributes": [
        {
            "name": "BOM Needed in Jackyun?",
            "value": "Yes",
            "fieldType": "FIXED_DROP_DOWN"
        },
        {
            "name": "UPC",
            "value": "840173780695",
            "fieldType": "SINGLE_LINE_TEXT"
        }
    ]
}