# An alert message that appears in the Shopify admin about a problem with a store resource, with 1 or more actions to take.
# For example, you could use an alert to indicate that you're not charging taxes on some product variants.
# They can optionally have a specific icon and be dismissed by merchants.
type ResourceAlert {
    # Buttons in the alert that link to related information.
    # For example, Edit variants.
    actions: [ResourceAlertAction!]!

    # The secondary text in the alert that includes further information or instructions about how to solve a problem.
    content: HTML!

    # Unique identifier that appears when an alert is manually closed by the merchant.
    # Most alerts cannot be manually closed.
    dismissibleHandle: String

    # An icon that is optionally displayed with the alert.
    icon: ResourceAlertIcon

    # Indication of how important the alert is.
    severity: ResourceAlertSeverity!

    # The primary text in the alert that includes information or describes the problem.
    title: String!
}

# An action associated to a resource alert, such as editing variants.
type ResourceAlertAction {
    # Whether the action appears as a button or as a link.
    primary: Boolean!

    # Resource for the action to show.
    show: String

    # The text for the button in the alert. For example, Edit variants.
    title: String!

    # The target URL that the button links to.
    url: URL!
}

# An alert message that appears in the Shopify admin about a problem with a store setting, with an action to take.
# For example, you could show an alert to ask the merchant to enter their billing information to activate Shopify Plus.
type ShopAlert {
    # The text for the button in the alert that links to related information. For example, Add credit card.
    action: ShopAlertAction!

    # A description of the alert and further information, such as whether the merchant will be charged.
    description: String!
}

# An action associated to a shop alert, such as adding a credit card.
type ShopAlertAction {
    # The text for the button in the alert. For example, Add credit card.
    title: String!

    # The target URL that the button links to.
    url: URL!
}
