I’ve noticed that some graphql resources return timeline comments, if you query for connected events, for example this will return up to 10 messages:
query DiscountWithComments {
discountNodes(first: 5) {
edges {
node {
metafield(key: "key", namespace: "$app:namespace") {
id
}
events(first: 10) {
__typename
nodes {
__typename
message
id
}
}
discount {
__typename
... on DiscountAutomaticApp {
title
discountId
}
}
}
}
}
}
However I didn’t find any way for apps to write comments, it seems that the admin dashboard uses this for creating comments:
mutation TimelineCommentCreate($input: TimelineCommentCreateInput!) {
timelineCommentCreate(input: $input) {
event {
...TimelineEvent
__typename
}
userErrors {
field
message
__typename
}
__typename
}
}
fragment TimelineEvent on Event {
id
createdAt
criticalAlert
merchantVisible
message
eventLabel
... on BasicEvent {
id
attributeToApp
attributeToUser
additionalContent
secondaryMessage
appIcon {
id
altText
imgSrc: url(transform: {maxWidth: 50, maxHeight: 50})
__typename
}
__typename
}
... on NotificationSentEvent {
id
createdAt
deliveryStatus
deliveryStatusDescription
merchantVisible
message
method
resendable
subject
appIcon {
id
altText
imgSrc: url(transform: {maxWidth: 50, maxHeight: 50})
__typename
}
__typename
}
... on CommentEvent {
id
rawMessage
edited
author {
id
name
initials
avatar(fallback: NOT_FOUND) {
id
transformedSrc: url(transform: {maxWidth: 50, maxHeight: 50, scale: 3})
__typename
}
__typename
}
attachments {
id
image {
id
transformedSrc: url(transform: {maxWidth: 50, maxHeight: 54, scale: 3})
__typename
}
fileExtension
size
name
url
__typename
}
embed {
... on Product {
id
title
featuredImage {
id
altText
transformedSrc: url(transform: {maxWidth: 50, maxHeight: 50, scale: 3})
__typename
}
tracksInventory
totalInventory
variants(first: 1) {
edges {
node {
id
price
__typename
}
__typename
}
__typename
}
__typename
}
... on ProductVariant {
id
title
image {
id
altText
transformedSrc: url(transform: {maxWidth: 50, maxHeight: 50, scale: 3})
__typename
}
product {
id
title
__typename
}
inventoryQuantity
inventoryItem {
id
tracked
__typename
}
__typename
}
... on Customer {
id
displayName
email
ordersCount
totalSpentV2: amountSpent {
amount
currencyCode
__typename
}
phone
note
__typename
}
... on Order {
id
name
createdAt
totalPriceSet {
shopMoney {
amount
currencyCode
__typename
}
__typename
}
customer {
id
displayName
__typename
}
lineItems(first: 250) {
edges {
node {
id
title
product {
id
__typename
}
variant {
id
__typename
}
__typename
}
__typename
}
__typename
}
displayFinancialStatus
displayFulfillmentStatus
__typename
}
... on DraftOrder {
id
name
createdAt
totalPrice
customer {
id
displayName
__typename
}
lineItems(first: 250) {
edges {
node {
id
title
product {
id
__typename
}
variant {
id
__typename
}
__typename
}
__typename
}
__typename
}
__typename
}
... on PurchaseOrder {
acceptedQuantity
destinationTarget {
id
name
__typename
}
id
name
placedAt
referenceNumber
rejectedQuantity
shipNotices {
id
arrivesAt
__typename
}
status
supplierTarget {
id
name
__typename
}
totalQuantity
__typename
}
... on InventoryMovement {
id
name
transferStatus: status
origin: source {
id
name
__typename
}
transferDestination: destination {
id
name
__typename
}
totalQuantity
acceptedQuantity
rejectedQuantity
referenceNumber: externalReferenceId
transferShipNotices: shipNotices(first: 1) {
edges {
node {
id
arrivesAt
__typename
}
__typename
}
__typename
}
__typename
}
__typename
}
__typename
}
__typename
}
Is writing comments a planned feature, or is just because DiscountNodeConnection
returns app and store owned discouns that this is present?