Skip to content

Comparison of Connector Selector and Hanger Selector: Endpoint & Request Model Differences

Table of Contents

A. Endpoints

The Hanger Selector endpoint merges the Joist and Truss endpoints into a single endpoint. The request type is determined by the value of flushOption: TOP for Joist (Flush Top) or BOTTOM for Truss/Multi-Truss (Flush Bottom).

TypeConnector Selector EndpointHanger Selector Endpoint
Joist (Flush Top)POST - /api/HangersPOST - /hanger-selector/hangers
Joist (Flush Top) - Get multiplePOST - /api/Hangers/GetMultiplePOST - /hanger-selector/get-multiple
Truss/Multi-Truss (Flush Bottom)POST -/api/TrussHangersPOST - /hanger-selector/hangers
Truss/Multi-Truss (Flush Bottom) - Get multiplePOST -/api/TrussHangers/GetMultiplePOST - /hanger-selector/get-multiple
Reasons why specific models aren't returnedPOST - /hanger-selector/why-not

B. Request Model

The request model has been changed based on the differences between the Connector Selector and Hanger Selector endpoints.

1. Joist (Flush Top)

Joist Model - Connector SelectorFlush Top Model - Hanger SelectorNote
"flushOption": "TOP"
NEW
• New field name flushOption, which can be TOP or BOTTOM, to determine whether the request is for Joist (Flush Top) or Truss/Multi-Truss (Flush Bottom).
"ansitpi": 0
NEW
• Add new field ansitpi (optional) support for Truss/Multi-Truss (Flush Bottom) request
"filters": {
  "depth": 0,
  "series": "",
  "webStiffeners": 0,
  "width": 0
}
"filters": {
  "depth": 0,
  "model": "",
  "series": "",
  "webStiffeners": 0,
  "width": 0
}
NEW
• Add new field model inside the filter model, to support filter by model name
"headerMember": {
  "depth": 3.5,
  "material": 1,
  "ply": 1,
  "topChord": 1,
  "width": 1.5
}
"carryingMember": {
  "depth": 3.5,
  "kingHeight": 0,
  "kingWidth": 0,
  "material": 1,
  "ply": 1,
  "topChord": 1,
  "topChordPly": 0,
  "width": 1.5
}
NEW
• Add new field kingHeight (optional) support for Truss/Multi-Truss (Flush Bottom) request
• Add new field kingWidth (optional) support for Truss/Multi-Truss (Flush Bottom) request
• Add new field topChordPly (optional) support for Truss/Multi-Truss (Flush Bottom) request

UPDATED
• Rename headerMember to carryingMember
"joistMember": {
  "angle": {
    "skewAngle": 0,
    "skewType": 0,
    "slopeAngle": 0,
    "slopeType": 0
  },
  "depth": 3.5,
  "loads": {
    "load": 100,
    "uplift": 125
  },
  "material": 1,
  "ply": 1,
  "width": 1.5
}
"carriedMembers": [
  {
    "angle": {
      "skewAngle": 0,
      "skewType": 0,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 3.5,
    "loads": {
      "load": 100,
      "uplift": 125
    },
    "material": 1,
    "ply": 1,
    "width": 1.5
  }
]
UPDATED
• Rename joistMember to carriedMembers
• Refactored joistMember from a single object to a list of objects.
"manufacturer": 0
REMOVED
• Remove the field manufacturer from the request.
The default value is: SST_SIMPSON
"buildingCode": 20
"buildingCode": 20
"concealed": 0
"concealed": 0
"fastenerType": 0
"fastenerType": 0
"designInformations": {
  "downloadDurationType": 100,
  "upliftLoadDurationType": 100
}
"designInformations": {
  "downloadDurationType": 100,
  "upliftLoadDurationType": 100
}
"hangerOptions": {
  "topFlangeOptions": {
    "topFlangeOffset": 0,
    "topFlangeOpenClosedAngle": 0,
    "topFlangeOpenClosedType": 0,
    "topFlangeSlopedDownAngle": 0,
    "topFlangeSlopedDownType": 0
  }
}
"hangerOptions": {
  "topFlangeOptions": {
    "topFlangeOffset": 0,
    "topFlangeOpenClosedAngle": 0,
    "topFlangeOpenClosedType": 0,
    "topFlangeSlopedDownAngle": 0,
    "topFlangeSlopedDownType": 0
  }
}
"ledger": 0
"ledger": 0
"style": 0
"style": 0
"sort": 0
"sort": 0

2. Truss (Flush Bottom)

Truss Model - Connector SelectorFlush Bottom Model - Hanger SelectorNote
"flushOption": "BOTTOM"
NEW
• New field name flushOption, which can be TOP or BOTTOM, to determine whether the request is for Joist (Flush Top) or Truss/Multi-Truss (Flush Bottom).
"hangerOptions": null
NEW
• Add new field hangerOptions (optional) support for Joist (Flush Top) request
"filters": {
  "depth": 0,
  "series": "",
  "webStiffeners": 0,
  "width": 0
}
"filters": {
  "depth": 0,
  "model": "",
  "series": "",
  "webStiffeners": 0,
  "width": 0
}
NEW
• Add new field model inside the filter model, to support filter by model name
"girder": {
  "depth": 9.25,
  "kingHeight": 0,
  "kingWidth": 0,
  "material": 5,
  "ply": 1,
  "topChordPly": 0,
  "width": 1.5
}
"carryingMember": {
  "depth": 9.25,
  "kingHeight": 0,
  "kingWidth": 0,
  "material": 5,
  "ply": 1,
  "topChord": 0,
  "topChordPly": 0,
  "width": 1.5
}
NEW
• Add new field topChord (optional) support for Joist (Flush Top) request
◦ Typical use case, 4x2 Floor Trusses

UPDATED
• Rename girder to carryingMember
"truss": [
  {
    "angle": {
      "skewAngle": 0,
      "skewType": 0,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 7,
    "loads": {
      "load": 100,
      "uplift": 125
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  }
]
"carriedMembers": [
  {
    "angle": {
      "skewAngle": 0,
      "skewType": 0,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 7,
    "loads": {
      "load": 100,
      "uplift": 125
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  }
]
UPDATED
• Rename truss to carriedMembers
"manufacturer": 0
REMOVED
• Remove the field manufacturer from the request.
The default value is: SST_SIMPSON
"ansitpi": 0
"ansitpi": 0
"buildingCode": 20
"buildingCode": 20
"concealed": 0
"concealed": 0
"designInformations": {
  "downloadDurationType": 100,
  "upliftLoadDurationType": 100
}
"designInformations": {
  "downloadDurationType": 100,
  "upliftLoadDurationType": 100
}
"fastenerType": 0
"fastenerType": 0
"ledger": 0
"ledger": 0
"style": 0
"style": 0
"sort": 0
"sort": 0

3. Multi-Truss (Flush Bottom)

Truss Model - Connector SelectorFlush Bottom Model - Hanger SelectorNote
"flushOption": "BOTTOM"
NEW
• New field name flushOption, which can be TOP or BOTTOM, to determine whether the request is for Joist (Flush Top) or Truss/Multi-Truss (Flush Bottom).
"hangerOptions": null
NEW
• Add new field hangerOptions (optional) support for Joist (Flush Top) request
"filters": {
  "depth": 0,
  "series": "",
  "webStiffeners": 0,
  "width": 0
}
"filters": {
  "depth": 0,
  "model": "",
  "series": "",
  "webStiffeners": 0,
  "width": 0
}
NEW
• Add new field model inside the filter model, to support filter by model name
"girder": {
  "depth": 9.25,
  "kingHeight": 0,
  "kingWidth": 0,
  "material": 5,
  "ply": 1,
  "topChordPly": 0,
  "width": 1.5
}
"carryingMember": {
  "depth": 9.25,
  "kingHeight": 0,
  "kingWidth": 0,
  "material": 5,
  "ply": 1,
  "topChord": 0,
  "topChordPly": 0,
  "width": 1.5
}
NEW
• Add new field topChord (optional) support for Joist (Flush Top) request
◦ Typical use case, 4x2 Floor Trusses

UPDATED
• Rename girder to carryingMember
"truss": [
  {
    "angle": {
      "skewAngle": 45,
      "skewType": 1,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 5.5,
    "loads": {
      "load": 0,
      "uplift": 0
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  },
  {
    "angle": {
      "skewAngle": 0,
      "skewType": 0,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 5.5,
    "loads": {
      "load": 0,
      "uplift": 0
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  },
  {
    "angle": {
      "skewAngle": 45,
      "skewType": 2,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 5.5,
    "loads": {
      "load": 0,
      "uplift": 0
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  }
]
"carriedMembers": [
  {
    "angle": {
      "skewAngle": 45,
      "skewType": 1,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 5.5,
    "loads": {
      "load": 0,
      "uplift": 0
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  },
  {
    "angle": {
      "skewAngle": 0,
      "skewType": 0,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 5.5,
    "loads": {
      "load": 0,
      "uplift": 0
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  },
  {
    "angle": {
      "skewAngle": 45,
      "skewType": 2,
      "slopeAngle": 0,
      "slopeType": 0
    },
    "depth": 5.5,
    "loads": {
      "load": 0,
      "uplift": 0
    },
    "material": 5,
    "ply": 1,
    "width": 1.5
  }
]
UPDATED
• Rename truss to carriedMembers and refactored from a single object to a list of objects. (Multi-truss)
"manufacturer": 0
REMOVED
• Remove the field manufacturer from the request.
The default value is: SST_SIMPSON
"ansitpi": 0
"ansitpi": 0
"buildingCode": 20
"buildingCode": 20
"concealed": 0
"concealed": 0
"designInformations": {
  "downloadDurationType": 100,
  "upliftLoadDurationType": 100
}
"designInformations": {
  "downloadDurationType": 100,
  "upliftLoadDurationType": 100
}
"fastenerType": 0
"fastenerType": 0
"ledger": 0
"ledger": 0
"style": 0
"style": 0
"sort": 0
"sort": 0

C. ENUM's

Similar to what’s above, some of the ENUM’s have been updated as well. Mostly purging out unused ENUM’s.

  • New:
    • WhyNotReason
    • JoistSelectorSpecies ENUM's
  • Reduced: SSTConnectorError
  • Removed ENUM’s for:
    • SST_MANUFACTURER
    • SSTHGR_SORT
    • SST_NAIL
      • SST_Nail_58Anchor_Generic (value 264)
      • SST_Nail_12Anchor_Generic (value 263)
    • Multi-Ply Join
    • Roof to Wall