Índice de operações da API
Todas as queries, mutations e subscriptions da Public API do Chatfuel, com a função necessária e um link para a referência.
Última atualização
222 operações
(id: BotID!): Bot!IANA timezone, for example "Europe/Madrid".
(botID: BotID!, timezone: BotTimezone!): Bot!Two-letter country code.
(botID: BotID!, countryCode: CountryCode!): Bot!(botID: BotID!, industry: BotIndustryInput!): Bot!(botID: BotID!, newTitle: String!): Bot!What Editors and Agents may do in this bot.
(botID: BotID!, rolesConfig: RolesConfigInput!): Bot!Only models from Bot.openAIModelOptions are accepted.
(botID: BotID!, openAIModel: OpenAIModel!): Bot!Returns the bot to the default model.
(botID: BotID!): Bot!Resets the legacy bot API key from Settings → API.
(botID: BotID!): Bot!Marks the bot as recently opened for sorting by LastOpenedAt.
(botID: BotID!): CurrentUserAccount!Creates a new workspace with one bot in it.
(initialTitle: String!, timezone: BotTimezone): Bot!Creates a bot in an existing workspace.
(workspaceID: WorkspaceID!, initialTitle: String!, timezone: BotTimezone): Bot!Deletes the bot and all of its virtual users.
(botID: BotID!): CurrentUserAccount!: [Workspace!]!(id: WorkspaceID!): Workspace!: [WorkspaceRole!]!Creates an empty workspace with a default title.
: Workspace!(workspaceID: WorkspaceID!, newTitle: String!): Workspace!(botID: BotID!, targetWorkspaceID: WorkspaceID!): Workspace!Only an empty workspace without an active paid subscription can be deleted.
(workspaceID: WorkspaceID!): Boolean!Fires when the workspace's billing subscription changes.
(workspaceID: WorkspaceID!): BillingSubscription!Shows an invite before it is accepted. Virtual users can't accept invites.
(inviteToken: BotInviteToken!): Invite!Returns a Chatfuel dashboard text by its key, for example in DashboardLocale En, Es or Pt.
(key: String!, locale: DashboardLocale!): String!Language of the Chatfuel dashboard for your account.
(locale: DashboardLocale!): CurrentUserAccount!Creates a virtual user and returns its token once. Role: Editor or Agent.
(botID: BotID!, name: String!, role: BotRoleInputV2!): VirtualUserCreateResult!Erros: VirtualUserRoleNotAllowed, VirtualUserNameInvalid, VirtualUsersLimitReached
Revokes the current token of a virtual user and returns a new one.
(memberID: BotTeamMemberID!): AuthToken!Erros: NotVirtualUser
Changes a member's role. A virtual user can only be switched between Editor and Agent.
(memberID: BotTeamMemberID!, newRole: BotRoleInputV2!): TeamMember!Erros: CustomRoleNotSupported, VirtualUserRoleNotAllowed
Removes a member. For a virtual user this deletes the account and its token.
(memberID: BotTeamMemberID!): Bot!Creates an invite link for a human teammate.
(botID: BotID!, role: BotRoleInputV2!, wlLogin: String): BotInviteCreateResultErros: CustomRoleNotSupported
(inviteID: BotInviteID!): Bot!Leaves a bot you are a member of. Not available to virtual users (VirtualUserNotAllowed).
(botID: BotID!): CurrentUserAccount!Fires when the role of the token's owner changes in any bot. role is null after removal.
: CurrentUserAccountRoleInBotUpdate!One contact by ID.
(id: ContactID!): Contact!Paginated search, up to 500 per page, optionally filtered by a segment and sorted by an attribute.
(platforms: [Platform!]!, first: Int!, before: ContactSearchCursor, after: ContactSearchCursor, segment: SegmentInput, orderBy: ContactSearchOrderByInput): ContactConnection!Number of contacts matching the platforms and segment.
(platforms: [Platform!]!, segment: SegmentInput): Int!(platforms: [Platform!]!, segment: SegmentInput): Int!(id: ContactID!, name: String!): Contact!Erros: ContactDoesNotExist, ContactNameTooLong, ContactNameRequired
Creates or updates a custom attribute. System attributes can't be changed (SystemAttributeUpdateNotAllowed).
(id: ContactID!, attrName: AttributeName!, attrValue: String!): Contact!Deletes a custom attribute value from the contact.
(id: ContactID!, attrName: AttributeName!): Contact!A free-text note shown on the contact card and in bookings.
(id: ContactID!, note: String): Contact!Erros: ContactNoteTooLong
The person must have access to the bot's contacts (AssigneeHasNoAccess).
(id: ContactID!, assigneeID: UserAccountID!): Contact!Hands the contact to Fuely AI.
(id: ContactID!): Contact!(id: ContactID!): Contact!Moves the contact on the Leads board.
(id: ContactID!, salesStageV2: SalesStageV2!): Contact!Creates a WhatsApp contact by phone number for a calendar booking (source: CalendarBooking).
(botID: BotID!, data: WhatsappContactCreateInput!): Contact!(botID: BotID!, attributeName: AttributeName!, defaultValue: String!): Bot!(botID: BotID!, attributeName: AttributeName!, defaultValue: String!): Bot!(botID: BotID!, attributeName: AttributeName!): Bot!Contacts in one stage, filtered by assignee (Any, Unassigned, FuelyAI or a specific AssigneeID).
(first: Int!, before: ContactSearchCursor, after: ContactSearchCursor, assigneeFilter: ContactAssigneeFilter!, salesStageV2Filter: SalesStageV2!): ContactConnection!Number of contacts in each stage, optionally limited by the time of the last stage change.
(filter: DealsByStagesFilter!): TotalsByStages!Export by segment; pass an empty attributes list to export all attributes.
(botID: BotID!, platforms: [Platform!]!, segment: SegmentInput, attributes: [AttributeName!]!): Task!Erros: CSVContactExportAlreadyInProgress
Export a list of contacts.
(botID: BotID!, contactIDs: [ContactID!]!, attributes: [AttributeName!]!): Task!Erros: CSVContactExportInvalidContactIDsCount
Cancels an export; the task status changes to cancelled shortly after.
(botID: BotID!, id: String!): Bot!1) upload the CSV file, 2) create the import, 3) map columns, 4) start it.
(botID: BotID!, fileID: FileID!, platform: Platform!, locale: DashboardLocale!): CSVContactImport!(botID: BotID!, id: CSVContactImportID!, fileID: FileID!): CSVContactImport!(botID: BotID!, id: CSVContactImportID!, request: CSVContactImportColumnsUpdate!): CSVContactImport!if the channel, for example the WhatsApp number, is not connected.
(botID: BotID!, id: CSVContactImportID!): CSVContactImport!Erros: ContactScopeNotConnected
Any change of one contact.
(botID: BotID!, contactID: ContactID!): ContactChanges on the Leads board for the given assignee filter.
(botID: BotID!, assigneeFilter: ContactAssigneeFilter!): ContactsDealUpdate(botID: BotID!): DealsPageIndicatorUpdateProgress of a CSV import.
(botID: BotID!, id: CSVContactImportID!): CSVContactImport!The conversation with one contact.
(conversationID: ConversationID!): Conversation!Number of conversations per status: open, closed, automated.
: [ConversationCountEntry!]!Open conversations nobody has looked at yet.
: Int!The inbox list: contacts with conversations, filtered like the dashboard inbox.
(first: Int!, before: ContactSearchCursor, after: ContactSearchCursor,assigneeFilter: ContactAssigneeFilter!, unreadOnly: Boolean!,salesStageV2Filter: [SalesStageV2!]!, textInputFilter: String): ContactConnection!(botID: BotID!, conversationID: ConversationID!, message: WhatsAppTextMessageSendInput): WhatsAppOutTextMessage(botID: BotID!, conversationID: ConversationID!, message: WhatsAppAttachmentMessageSendInput!): WhatsAppOutAttachment(botID: BotID!, conversationID: ConversationID!, message: InstagramTextMessageSendInput!): InstagramOutTextMessage!(botID: BotID!, conversationID: ConversationID!, message: InstagramAttachmentMessageSendInput!): InstagramOutAttachment(botID: BotID!, conversationID: ConversationID!, message: FacebookTextMessageSendInput!): FacebookOutTextMessage!(botID: BotID!, conversationID: ConversationID!, message: FacebookAttachmentMessageSendInput!): FacebookOutAttachment(botID: BotID!, conversationID: ConversationID!, message: TikTokTextMessageSendInput!): TikTokOutTextMessage!(botID: BotID!, conversationID: ConversationID!, message: TikTokAttachmentMessageSendInput!): TikTokOutAttachment(botID: BotID!, conversationID: ConversationID!, message: WidgetTextMessageSendInput): WebWidgetTextMessage(botID: BotID!, conversationID: ConversationID!, message: WidgetAttachmentMessageSendInput): WebWidgetAttachmentMessageThe bot's WhatsApp templates with their status, language, category and components.
(first: Int, after: WhatsAppTemplateCursor, before: WhatsAppTemplateCursor): WhatsappTemplates(id: FilledWhatsAppTemplateID!): FilledWhatsAppTemplate!1. Create a one-time filled copy of a template.
(botID: BotID!, templateID: WhatsAppTemplateID!): FilledWhatsAppTemplate!2. Fill in variables and media.
(templateID: FilledWhatsAppTemplateID!, name: WhatsAppTemplateTextParamName!, value: String!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, name: WhatsAppTemplateTextParamName!, value: String!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, name: WhatsAppTemplateTextParamName!, value: String!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, fileID: FileID!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, fileID: FileID!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, fileID: FileID!, fileName: String!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, buttonID: ComponentHandleID!, name: WhatsAppTemplateTextParamName!, value: String!): FilledWhatsAppTemplate!(templateID: FilledWhatsAppTemplateID!, buttonID: ComponentHandleID!, codeValue: String!): FilledWhatsAppTemplate!3. Send it to the contact.
(botID: BotID!, conversationID: ConversationID!, template: WhatsAppTemplateSendInput): WhatsAppOutTemplateMessageReturns the conversation with a contact, creating it if the contact has none yet.
(contactID: ContactID!): Conversation!Opens a live chat with the contact (status open), like a teammate taking over the chat in the inbox.
(botID: BotID!, conversationID: ConversationID!): Conversation!Closes the live chat and sends the contact to a flow.
(botID: BotID!, conversationID: ConversationID!, flowID: FlowID!): Conversation!Marks messages up to the given one as read.
(botID: BotID!, conversationID: ConversationID!, before: MessageID!): Conversation!A new message in one conversation, incoming or outgoing.
(botID: BotID!, conversationID: ConversationID!): MessageA message changed, for example its WhatsApp delivery status.
(botID: BotID!, conversationID: ConversationID!): MessageChanges in the inbox list for the given filters.
(botID: BotID!, assigneeFilter: ContactAssigneeFilter!, unreadOnly: Boolean!,salesStageV2Filter: [SalesStageV2!]!, textInputFilter: String): ContactsChatUpdateThe number of unseen open conversations changed.
(botID: BotID!): Int{ id name flows { id name } }
: [FlowGroup!]!: [RegularFlow!]!: [DefaultReplyFlow!]!(flowID: FlowID!): Flow!(botID: BotID!, platform: Platform!): Bot!(flowID: FlowID!, name: String!): Flow!(flowID: FlowID!): Bot!(botID: BotID!): Bot!(id: FlowGroupID!, name: String!): FlowGroup!(flowGroupId: FlowGroupID!): Bot!(flowID: FlowID!, groupID: FlowGroupID!): Bot!(flowID: FlowID!): Bot!(botID: BotID!, flowGroupIds: [FlowGroupID!]!): Bot!(groupID: FlowGroupID!, flowIds: [FlowID!]!): FlowGroup!(botID: BotID!, flowIds: [FlowID!]!): Bot!(flowID: FlowID!, blockID: BlockID!, name: String!): Block!(flowID: FlowID!, blockID: BlockID!, positionX: Int!, positionY: Int!): Block!(flowID: FlowID!, update: [BlockPositionBulkUpdate!]!): Flow!(flowID: FlowID!, blockID: BlockID!): Flow!(flowID: FlowID!, blockID: BlockID!): Flow!(flowID: FlowID!, blockID: BlockID!): Flow!(flowID: FlowID!, blockID: BlockID!): Flow!(blockID: BlockID!, elementIDs: [BlockElementID!]!): Block!(botID: BotID!, elementID: BlockElementID!): Flow!Block → block, or a component's output handle (a button, a condition branch) → block.
(flowID: FlowID!, request: BlockToBlockConnectionCreateRequest!): Flow!(flowID: FlowID!, sourceBlockID: BlockID!): Flow!(flowID: FlowID!, request: ComponentToBlockConnectionCreateRequest!): Flow!(flowID: FlowID!, sourceBlockElementID: BlockElementID!, sourceHandleID: ComponentHandleID!): Flow!(flowID: FlowID!, positionX: Int!, positionY: Int!): Flow!(flowID: FlowID!, request: UndefinedTargetBlockConnectionCreateRequest!, positionX: Int!, positionY: Int!): Flow!(blockID: BlockID!): ContentBlock!(blockElementID: BlockElementID!, text: String!): ContentBlock!(blockElementID: BlockElementID!, waitForReplies: Boolean!): ContentBlock!(blockElementID: BlockElementID!, saveContactReply: Boolean!, attribute: AttributeName): ContentBlock!(botID: BotID!): KeywordRule!matchType: similarTo, contains or matches
(botID: BotID!, keywordRuleID: KeywordRuleID!, matchType: KeywordRuleMatchType!): KeywordRule!(botID: BotID!, keywordRuleID: KeywordRuleID!, keywords: [String!]!): KeywordRule!actionType: switchToFlow, sendMessage or doNothing, set per platform
(botID: BotID!, keywordRuleID: KeywordRuleID!, platform: Platform!, actionType: KeywordRuleActionType!): KeywordRule!(botID: BotID!, keywordRuleID: KeywordRuleID!): Bot!Triggers of triggered messages. An enabled trigger can't be changed (EnabledTriggerIsImmutable). conditionType: LastMessageFromContact or ContactAttributeChanged
(id: TriggerID!, conditionType: TriggerConditionType!): Trigger!(id: TriggerID!, attrCondition: AttrFilterInput!): Trigger!(id: TriggerID!): Trigger!(id: TriggerID!, delay: TriggerDelayInput!): Trigger!(flowID: FlowID!): PreviewResponsesFlowSession!(botID: BotID!, platform: Platform!): PreviewResponsesBotSession!(botID: BotID!, fuelyAutomationID: FuelyAutomationID!): PreviewResponsesFuelyAutomationSession!All automations, or those of one scope.
(scope: FuelyAutomationScope): [FuelyAutomation!]!(id: FuelyAutomationID!): FuelyAutomation!Conversion events Fuely AI can send to Meta.
: FuelyAvailableMetaConversionEventNames!Custom automation, only for scopes that support targeting; up to 30 per scope.
(botID: BotID!, scope: FuelyAutomationScope!, name: String!): FuelyAutomation!Erros: FuelyAutomationNameInvalid, FuelyAutomationScopeInvalid, FuelyAutomationScopeLimitReached
Custom automations only (FuelyAutomationNotRenamable, FuelyAutomationNotDeletable for base ones).
(botID: BotID!, id: FuelyAutomationID!, name: String!): FuelyAutomation!(botID: BotID!, id: FuelyAutomationID!): Bot!Turning Main bot off switches off all AI replies.
(botID: BotID!, id: FuelyAutomationID!, enabled: Boolean!): FuelyAutomation!Changes one setting; see below.
(botID: BotID!, id: FuelyAutomationID!, update: FuelySettingUpdateInput!): FuelyAutomation!Writes settings onto base automations and creates custom automations in one call.
(botID: BotID!, template: FuelyAutomationTemplateInput!): Bot!(botID: BotID!, companyName: String!): Bot!(botID: BotID!, email: String!): Bot!(botID: BotID!, phone: String!): Bot!(botID: BotID!, address: String!): Bot!(botID: BotID!, website: String!): Bot!(botID: BotID!, howToPay: String!): Bot!(botID: BotID!, faqs: [FuelyKnowledgeBaseFAQInput!]!): Bot!(botID: BotID!, additionalInstructions: String!): Bot!(botID: BotID!, schedule: FuelyBusinessHoursScheduleUpdateInput!): Bot!(botID: BotID!, update: FuelyConfigBookingAppointmentsUpdateInput!): Bot!(botID: BotID!, enabled: Boolean!, additionalInfo: String): Bot!(botID: BotID!, channel: FuelyBookingNotificationChannel!): Bot!(botID: BotID!, locale: DashboardLocale!): Bot!- fuelyBroadcastWhatsAppOneTimeNotificationCreatemutationReferência da API de Fuely AI e Automations →
A one-time broadcast, sent when you call whatsAppOneTimeNotificationSend.
(botID: BotID!, filledTemplateID: FilledWhatsAppTemplateID!): FuelyBroadcast! A broadcast scheduled for sendTime, which must be in the future (FuelyBroadcastSendTimeCanNotBeInPast).
(botID: BotID!, filledTemplateID: FilledWhatsAppTemplateID!, sendTime: Time!): FuelyBroadcast!Fires when any automation of the bot changes.
(botID: BotID!): FuelyAutomation!Bookings in the time range.
(startTime: Time!, endTime: Time!): [BookingBase!]!(id: BookingID!): BookingBase!A booking contact without a chat, found by phone number.
(phoneNumber: String!): BookingInlineContact(botID: BotID!, req: BookingInput!): BookingBase!Erros: BookingStartTimeRequired, BookingEndTimeRequired, BookingInvalidDuration, BookingEndTimeBeforeStartTime, BookingContactPlatformNotAllowed
(botID: BotID!, id: BookingID!, req: BookingUpdateInput!): BookingBase!Confirm, cancel or mark as attended or no-show.
(botID: BotID!, bookingID: BookingID!, status: BookingStatus!): BookingBase!(botID: BotID!, id: BookingID!): BookingBase!(id: InlineContactID!, note: String): BookingInlineContact!Erros: BookingInlineContactNoteTooLong
(botID: BotID!): Booking!(botID: BotID!): Booking!(botID: BotID!): BookingID!, …
(botID: BotID!, info: SpecialistInfoInput!): Bot!Erros: SpecialistNameNotUnique, SpecialistFirstNameRequired, SpecialistFirstNameTooLong
(botID: BotID!, specialistID: SpecialistID!, info: SpecialistInfoInput!): Specialist!(botID: BotID!, specialistID: SpecialistID!): Bot!- specialistCreateGoogleCalendarConnectionLinkmutationEditorReferência da API de agendamentos e catálogo →
Creates a link the calendar owner opens to connect their Google Calendar.
(botID: BotID!, specialistID: SpecialistID!): SpecialistGoogleCalendarLink! (botID: BotID!, specialistID: SpecialistID!): Bot!Starts a sync; follow its progress with taskUpdated.
(botID: BotID!, specialistID: SpecialistID!): Task!Erros: SpecialistDoesNotExist
(botID: BotID!, specialistID: SpecialistID!, googleCalendarID: GoogleCalendarID!): Specialist!, …
(botID: BotID!, product: GoodsProductInput!): Bot!Erros: GoodsItemsTooMuchForBot, GoodsItemTitleRequired, GoodsItemTitleNotUnique, GoodsItemTitleTooShort, GoodsItemTitleTooLong, GoodsItemDescriptionTooLong
(botID: BotID!, itemID: GoodsItemID!, product: GoodsProductInput!): GoodsProduct!(botID: BotID!, itemID: GoodsItemID!): Bot!(botID: BotID!, service: GoodsServiceInput!): Bot!(botID: BotID!, itemID: GoodsItemID!, service: GoodsServiceInput!): GoodsService!(botID: BotID!, itemID: GoodsItemID!): Bot!(botID: BotID!, pageID: FbPageID!): Bot!(botID: BotID!, instagramAccountID: InstagramAccountID!): Bot!(botID: BotID!, tiktokAccountID: TikTokAccountID!): Bot!(botID: BotID!, contactScopeID: ContactScopeID!): Bot!Creating a new link for the same bot and platform invalidates the previous one. Redirect URLs, if set, must start with https://.
(botID: BotID!, platform: PlatformOperationLinkPlatform!, onSuccessRedirectURL: String, onFailureRedirectURL: String): PlatformConnectionLink!(botID: BotID!, linkID: PlatformOperationLinkID!): Bot!(botID: BotID!, platform: PlatformOperationLinkPlatform!, onSuccessRedirectURL: String, onFailureRedirectURL: String): PlatformAccessRefreshLink!(botID: BotID!, linkID: PlatformOperationLinkID!): Bot!A wa.me link with a prefilled message. title: 3 to 128 characters.
(botID: BotID!, title: String!, message: String): Bot!Erros: NoPhoneConnectedToBot, BotAlreadyHasWhatsAppLink
Whether a payment method is attached to the WhatsApp Business Account in Meta.
(botID: BotID!, wabaID: WhatsappBusinessAccountID!): Boolean!Profile picture of the number; the new picture arrives in whatsAppBusinessPhoneNumberUpdated.
(id: WhatsAppBusinessPhoneID!, fileID: FileID!): WhatsAppBusinessPhoneNumber!Sync contacts and chats of a number that also runs the WhatsApp Business app.
(id: WhatsAppBusinessPhoneID!): WhatsAppBusinessPhoneNumber!Refresh your WhatsApp accounts from Meta in the background.
: Boolean!(botID: BotID!): WAPhoneConnectionState!(phoneID: WhatsAppBusinessPhoneID!): WhatsAppBusinessPhoneNumber!{ imageURL, caption }
(botID: BotID!, input: InstagramPublishImageInput!): InstagramPublishedMedia!2 to 10 items
(botID: BotID!, input: InstagramPublishCarouselInput!): InstagramPublishedMedia!Reels and video stories wait until Instagram finishes processing, up to 5 minutes. ({ videoURL, caption, coverURL, shareToFeed, thumbOffset })
(botID: BotID!, input: InstagramPublishReelInput!): InstagramPublishedMedia!{ mediaType, mediaURL }
(botID: BotID!, input: InstagramPublishStoryInput!): InstagramPublishedMedia!Refresh the account and its latest posts from Instagram (count up to 100).
(id: BotID!, count: Int!): Bot!(id: InstagramAccountID!): InstagramAccount!(id: InstagramAccountID!, count: Int!): InstagramAccount!A new post appeared on the connected account.
(id: BotID!): InstagramMedia!WebWidgetNameEmpty, WebWidgetNameTooLong
(id: WebWidgetID!, name: String!): WebWidget!(id: WebWidgetID!, color: String!): WebWidget!upload to /upload/widget first
(id: WebWidgetID!, fileID: FileID!): WebWidget!WebWidgetDomainValidationFailed
(id: WebWidgetID!, domains: [String!]!): WebWidget!(id: WebWidgetID!, isEnabled: Boolean!): WebWidget!A file by ID: { id url type status size }.
(id: FileID!): File!Starts downloading a file that is stored with an external service, such as media a contact sent on a channel.
(id: FileID!): File!(id: TaskID!): Task!(id: TaskID!): Task!
Public API
Crie integrações com a API GraphQL do Chatfuel: tokens e usuários virtuais, requisições e erros, e uma referência de cada operação.
API de documentação para agentes de IA
Um link com o qual seu assistente de IA ou agente de código pesquisa na central de ajuda e na referência da Public API. Sem login.