Skip to content

Latest commit

 

History

History
54 lines (45 loc) · 5.48 KB

catalog-custom-attribute-definition.md

File metadata and controls

54 lines (45 loc) · 5.48 KB

Catalog Custom Attribute Definition

Contains information defining a custom attribute. Custom attributes are intended to store additional information about a catalog object or to associate a catalog object with an entity in another system. Do not use custom attributes to store any sensitive information (personally identifiable information, card details, etc.). Read more about custom attributes

Structure

CatalogCustomAttributeDefinition

Fields

Name Type Tags Description Getter Setter
type string(CatalogCustomAttributeDefinitionType) Required Defines the possible types for a custom attribute. getType(): string setType(string type): void
name string Required The name of this definition for API and seller-facing UI purposes.
The name must be unique within the (merchant, application) pair. Required.
May not be empty and may not exceed 255 characters. Can be modified after creation.
Constraints: Minimum Length: 1, Maximum Length: 255
getName(): string setName(string name): void
description ?string Optional Seller-oriented description of the meaning of this Custom Attribute,
any constraints that the seller should observe, etc. May be displayed as a tooltip in Square UIs.
Constraints: Maximum Length: 255
getDescription(): ?string setDescription(?string description): void
sourceApplication ?SourceApplication Optional Represents information about the application used to generate a change. getSourceApplication(): ?SourceApplication setSourceApplication(?SourceApplication sourceApplication): void
allowedObjectTypes string(CatalogObjectType)[] Required The set of CatalogObject types that this custom atttribute may be applied to.
Currently, only ITEM, ITEM_VARIATION, MODIFIER, MODIFIER_LIST, and CATEGORY are allowed. At least one type must be included.
See CatalogObjectType for possible values
getAllowedObjectTypes(): array setAllowedObjectTypes(array allowedObjectTypes): void
sellerVisibility ?string(CatalogCustomAttributeDefinitionSellerVisibility) Optional Defines the visibility of a custom attribute to sellers in Square
client applications, Square APIs or in Square UIs (including Square Point
of Sale applications and Square Dashboard).
getSellerVisibility(): ?string setSellerVisibility(?string sellerVisibility): void
appVisibility ?string(CatalogCustomAttributeDefinitionAppVisibility) Optional Defines the visibility of a custom attribute to applications other than their
creating application.
getAppVisibility(): ?string setAppVisibility(?string appVisibility): void
stringConfig ?CatalogCustomAttributeDefinitionStringConfig Optional Configuration associated with Custom Attribute Definitions of type STRING. getStringConfig(): ?CatalogCustomAttributeDefinitionStringConfig setStringConfig(?CatalogCustomAttributeDefinitionStringConfig stringConfig): void
numberConfig ?CatalogCustomAttributeDefinitionNumberConfig Optional - getNumberConfig(): ?CatalogCustomAttributeDefinitionNumberConfig setNumberConfig(?CatalogCustomAttributeDefinitionNumberConfig numberConfig): void
selectionConfig ?CatalogCustomAttributeDefinitionSelectionConfig Optional Configuration associated with SELECTION-type custom attribute definitions. getSelectionConfig(): ?CatalogCustomAttributeDefinitionSelectionConfig setSelectionConfig(?CatalogCustomAttributeDefinitionSelectionConfig selectionConfig): void
customAttributeUsageCount ?int Optional The number of custom attributes that reference this
custom attribute definition. Set by the server in response to a ListCatalog
request with include_counts set to true. If the actual count is greater
than 100, custom_attribute_usage_count will be set to 100.
getCustomAttributeUsageCount(): ?int setCustomAttributeUsageCount(?int customAttributeUsageCount): void
key ?string Optional The name of the desired custom attribute key that can be used to access
the custom attribute value on catalog objects. Cannot be modified after the
custom attribute definition has been created.
Must be between 1 and 60 characters, and may only contain the characters [a-zA-Z0-9_-].
Constraints: Minimum Length: 1, Maximum Length: 60, Pattern: ^[a-zA-Z0-9_-]*$
getKey(): ?string setKey(?string key): void

Example (as JSON)

{
  "type": "STRING",
  "name": "name0",
  "description": "description0",
  "source_application": {
    "product": "BILLING",
    "application_id": "application_id8",
    "name": "name2"
  },
  "allowed_object_types": [
    "CATEGORY",
    "IMAGE"
  ],
  "seller_visibility": "SELLER_VISIBILITY_HIDDEN",
  "app_visibility": "APP_VISIBILITY_HIDDEN",
  "string_config": {
    "enforce_uniqueness": false
  }
}