-
Notifications
You must be signed in to change notification settings - Fork 5.5k
new ticketsauce actions and source #18787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 2 commits
04e8c2a
94760df
46e2542
3418247
6039bcd
f12bbae
74418a1
3e107bc
cf31f14
73f21d3
1d1cee5
7fbf1d0
4053425
38b7217
442c587
deb15cf
4d59e81
59b8e40
bd77627
92856bc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
import ticketsauce from "../../ticketsauce.app.mjs"; | ||
|
||
export default { | ||
key: "ticketsauce-get-event-details", | ||
name: "Get Event Details", | ||
description: "Get details for a specified event. [See documentation](https://speca.io/ticketsauce/ticketsauce-public-api?key=204000d6bda66da78315e721920f43aa#event-details)", | ||
version: "0.0.1", | ||
type: "action", | ||
annotations: { | ||
destructiveHint: false, | ||
openWorldHint: true, | ||
readOnlyHint: true, | ||
}, | ||
props: { | ||
ticketsauce, | ||
partnerId: { | ||
type: "string", | ||
label: "Partner ID", | ||
description: "Including this ID will limit the event selection to the specific partner.", | ||
optional: true, | ||
}, | ||
organizationId: { | ||
type: "string", | ||
label: "Organization ID", | ||
description: "Including this ID will limit the event selection to the specific organization.", | ||
optional: true, | ||
}, | ||
eventId: { | ||
propDefinition: [ | ||
ticketsauce, | ||
"eventId", | ||
(c) => ({ | ||
partnerId: c.partnerId, | ||
organizationId: c.organizationId, | ||
}), | ||
], | ||
}, | ||
photos: { | ||
type: "string", | ||
label: "Photos", | ||
description: "Whether or not to return the event's photo gallery records.", | ||
optional: true, | ||
default: "0", | ||
options: [ | ||
"0", | ||
"1", | ||
], | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
}, | ||
includePerformers: { | ||
type: "boolean", | ||
label: "Include Performers", | ||
description: "Returns any associated performers/artists with the event.", | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
optional: true, | ||
default: false, | ||
}, | ||
}, | ||
async run() { | ||
const params = { | ||
photos: this.photos, | ||
include_performers: this.includePerformers, | ||
}; | ||
|
||
return this.ticketsauce.getEventDetails({ | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
eventId: this.eventId, | ||
params, | ||
}); | ||
}, | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
import ticketsauce from "../../ticketsauce.app.mjs"; | ||
|
||
export default { | ||
key: "ticketsauce-get-events", | ||
name: "Get Events", | ||
description: "Get a list of all events owned by the authenticated account. [See documentation](https://speca.io/ticketsauce/ticketsauce-public-api?key=204000d6bda66da78315e721920f43aa#list-of-events)", | ||
version: "0.0.1", | ||
type: "action", | ||
annotations: { | ||
destructiveHint: false, | ||
openWorldHint: true, | ||
readOnlyHint: true, | ||
}, | ||
props: { | ||
ticketsauce, | ||
partnerId: { | ||
type: "string", | ||
label: "Partner ID", | ||
description: "Including this ID will limit the result set to the specific partner.", | ||
optional: true, | ||
}, | ||
organizationId: { | ||
type: "string", | ||
label: "Organization ID", | ||
description: "Including this ID will limit the result set to the specific organization.", | ||
optional: true, | ||
}, | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
startAfter: { | ||
type: "string", | ||
label: "Start After", | ||
description: "Only retrieve events that start AFTER the specified UTC date (format: YYYY-MM-DD).", | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
optional: true, | ||
}, | ||
endBefore: { | ||
type: "string", | ||
label: "End Before", | ||
description: "Only retrieve events that end BEFORE the specified UTC date (format: YYYY-MM-DD).", | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
optional: true, | ||
}, | ||
activeOnly: { | ||
type: "boolean", | ||
label: "Active Only", | ||
description: "Leaving this as true will restrict retrieved events to only 'active' events. Setting to false will allow the retrieval of both active and inactive events.", | ||
optional: true, | ||
default: true, | ||
}, | ||
privacyType: { | ||
type: "string", | ||
label: "Privacy Type", | ||
description: "By default, this will restrict events to only those that are public. Changing to 'all' will remove all restriction, or changing to 'unlisted' will make it only pull those events that are set to unlisted.", | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
optional: true, | ||
default: "public", | ||
options: [ | ||
"public", | ||
"all", | ||
"unlisted", | ||
], | ||
}, | ||
sortBy: { | ||
type: "string", | ||
label: "Sort By", | ||
description: "Which field to sort by. By default ('date'), will sort events by their start date. Other options are 'name' (event name) or 'city' (the city where the event is located).", | ||
optional: true, | ||
options: [ | ||
"date", | ||
"name", | ||
"city", | ||
], | ||
}, | ||
sortDir: { | ||
type: "string", | ||
label: "Sort Direction", | ||
description: "Which direction you'd like to sort - either ascending ('asc' - the default) or descending ('desc').", | ||
optional: true, | ||
options: [ | ||
"asc", | ||
"desc", | ||
], | ||
}, | ||
includePerformers: { | ||
type: "boolean", | ||
label: "Include Performers", | ||
description: "Returns any associated performers/artists with an event", | ||
optional: true, | ||
}, | ||
sergio-eliot-rodriguez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
}, | ||
async run() { | ||
const params = { | ||
partner_id: this.partnerId, | ||
organization_id: this.organizationId, | ||
start_after: this.startAfter, | ||
end_before: this.endBefore, | ||
active_only: this.activeOnly, | ||
privacy_type: this.privacyType, | ||
sort_by: this.sortBy, | ||
sort_dir: this.sortDir, | ||
include_performers: this.includePerformers, | ||
}; | ||
|
||
return this.ticketsauce.listEvents({ | ||
params, | ||
}); | ||
}, | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import ticketsauce from "../../ticketsauce.app.mjs"; | ||
|
||
export default { | ||
key: "ticketsauce-get-order-details", | ||
name: "Get Order Details", | ||
description: "Get details for the specified order. [See documentation](https://speca.io/ticketsauce/ticketsauce-public-api?key=204000d6bda66da78315e721920f43aa#order-details)", | ||
version: "0.0.1", | ||
type: "action", | ||
annotations: { | ||
destructiveHint: false, | ||
openWorldHint: true, | ||
readOnlyHint: true, | ||
}, | ||
props: { | ||
ticketsauce, | ||
partnerId: { | ||
type: "string", | ||
label: "Partner ID", | ||
description: "Including this ID will limit the event selection to the specific partner.", | ||
optional: true, | ||
}, | ||
organizationId: { | ||
type: "string", | ||
label: "Organization ID", | ||
description: "Including this ID will limit the event selection to the specific organization.", | ||
optional: true, | ||
}, | ||
eventId: { | ||
propDefinition: [ | ||
ticketsauce, | ||
"eventId", | ||
(c) => ({ | ||
partnerId: c.partnerId, | ||
organizationId: c.organizationId, | ||
}), | ||
], | ||
}, | ||
orderId: { | ||
propDefinition: [ | ||
ticketsauce, | ||
"orderId", | ||
(c) => ({ | ||
eventId: c.eventId, | ||
}), | ||
], | ||
}, | ||
}, | ||
async run() { | ||
return this.ticketsauce.getOrderDetails({ | ||
orderId: this.orderId, | ||
}); | ||
}, | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
import ticketsauce from "../../ticketsauce.app.mjs"; | ||
|
||
export default { | ||
key: "ticketsauce-get-orders", | ||
name: "Get Orders", | ||
description: "Get a list of orders from the specified event. [See documentation](https://speca.io/ticketsauce/ticketsauce-public-api?key=204000d6bda66da78315e721920f43aa#orders)", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainUse a stable docs URL (avoid query keys in the link). The speca URL includes a 🌐 Web query:
💡 Result: Do you mean the TicketSauce API "Orders" documentation page (their public API docs)? If so, please confirm — I couldn't find a clear canonical Orders-docs URL and will search again once you confirm. I'll perform a more targeted search to find Ticketsauce's official API documentation structure. Let me search more specifically for Ticketsauce's official developer documentation. Let me search specifically for information about speca.io and its URL structure. Update the URL to remove the temporary query parameter. The Change the link from:
To:
🤖 Prompt for AI Agents
|
||
version: "0.0.1", | ||
type: "action", | ||
annotations: { | ||
destructiveHint: false, | ||
openWorldHint: true, | ||
readOnlyHint: true, | ||
}, | ||
props: { | ||
ticketsauce, | ||
partnerId: { | ||
type: "string", | ||
label: "Partner ID", | ||
description: "Including this ID will limit the event selection to the specific partner.", | ||
optional: true, | ||
}, | ||
organizationId: { | ||
type: "string", | ||
label: "Organization ID", | ||
description: "Including this ID will limit the event selection to the specific organization.", | ||
optional: true, | ||
}, | ||
eventId: { | ||
propDefinition: [ | ||
ticketsauce, | ||
"eventId", | ||
(c) => ({ | ||
partnerId: c.partnerId, | ||
organizationId: c.organizationId, | ||
}), | ||
], | ||
}, | ||
perPage: { | ||
type: "string", | ||
label: "Per Page", | ||
description: "How many results to retrieve (per page). Max 500.", | ||
optional: true, | ||
default: "100", | ||
}, | ||
page: { | ||
type: "string", | ||
label: "Page", | ||
description: "Which page to return. For example, if per_page is 20, and page is 3, the results would show 41-60.", | ||
optional: true, | ||
default: "1", | ||
}, | ||
q: { | ||
type: "string", | ||
label: "Search Query", | ||
description: "Exact email address or last name attached to an order.", | ||
optional: true, | ||
}, | ||
returnQuestionnaires: { | ||
type: "boolean", | ||
label: "Return Questionnaires", | ||
description: "Whether or not to return the question responses from questionnaires (will include attendee responses as well IF tickets are returned)", | ||
optional: true, | ||
}, | ||
returnTickets: { | ||
type: "boolean", | ||
label: "Return Tickets", | ||
description: "Whether or not to return the tickets for each order as well.", | ||
optional: true, | ||
}, | ||
returnLineItemFees: { | ||
type: "boolean", | ||
label: "Return Line Item Fees", | ||
description: "Whether or not to return the itemized line item fees for each order (if they exist).", | ||
optional: true, | ||
}, | ||
orderedAfter: { | ||
type: "string", | ||
label: "Ordered After", | ||
description: "Only retrieve orders that were ordered AFTER the specified date/time (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).", | ||
optional: true, | ||
}, | ||
orderedBefore: { | ||
type: "string", | ||
label: "Ordered Before", | ||
description: "Only retrieve orders that were ordered BEFORE the specified date/time (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).", | ||
optional: true, | ||
}, | ||
modifiedAfter: { | ||
type: "string", | ||
label: "Modified After", | ||
description: "Only retrieve orders that were modified AFTER the specified date/time (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).", | ||
optional: true, | ||
}, | ||
modifiedBefore: { | ||
type: "string", | ||
label: "Modified Before", | ||
description: "Only retrieve orders that were modified BEFORE the specified date/time (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).", | ||
optional: true, | ||
}, | ||
sortBy: { | ||
type: "string", | ||
label: "Sort By", | ||
description: "Which field to sort by. By default ('date'), this will sort orders by their ordered date. Or 'name' to order by last name.", | ||
optional: true, | ||
default: "date", | ||
options: [ | ||
"date", | ||
"name", | ||
], | ||
}, | ||
sortDir: { | ||
type: "string", | ||
label: "Sort Direction", | ||
description: "Which direction you'd like to sort - either ascending ('asc' - the default) or descending ('desc').", | ||
optional: true, | ||
default: "asc", | ||
options: [ | ||
"asc", | ||
"desc", | ||
], | ||
}, | ||
totalAbove: { | ||
type: "string", | ||
label: "Total Above", | ||
description: "Return only orders who's order total is greater than this value.", | ||
optional: true, | ||
}, | ||
totalBelow: { | ||
type: "string", | ||
label: "Total Below", | ||
description: "Return only orders who's order total is less than this value.", | ||
optional: true, | ||
}, | ||
GTFalcao marked this conversation as resolved.
Show resolved
Hide resolved
|
||
}, | ||
async run() { | ||
const params = { | ||
per_page: this.perPage, | ||
page: this.page, | ||
q: this.q, | ||
return_questionnaires: this.returnQuestionnaires, | ||
return_tickets: this.returnTickets, | ||
return_line_item_fees: this.returnLineItemFees, | ||
ordered_after: this.orderedAfter, | ||
ordered_before: this.orderedBefore, | ||
modified_after: this.modifiedAfter, | ||
modified_before: this.modifiedBefore, | ||
sort_by: this.sortBy, | ||
sort_dir: this.sortDir, | ||
total_above: this.totalAbove, | ||
total_below: this.totalBelow, | ||
}; | ||
|
||
return this.ticketsauce.listOrders({ | ||
eventId: this.eventId, | ||
params, | ||
}); | ||
}, | ||
}; |
Uh oh!
There was an error while loading. Please reload this page.