Files
leadchat/swagger/definitions/resource/automation_rule_item.yml
Tanmay Deep Sharma 459f225559 feat: Update swagger to openapi 3.0.4, update request payloads with examples (#11533)
# Pull Request Template

## Description

Updates the public swagger spec to be OpenAPI 3.0.4 compliant. Regarding
#7893, I'm investigating the use of
[oas_rails](https://github.com/a-chacon/oas_rails) to auto-generate the
documentation along with correct expected payloads.
Mostly fixes #10531, related to #7893

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

Copied spec into swagger editor, reviewed outputs:

![openapi](https://github.com/user-attachments/assets/bd43f895-74bb-4373-ba6d-c5b190b699dd)

Note that this shows two errors with the `DELETE` endpoints as
technically these should not have a `requestBody` - in which case we
should be making use of another HTTP verb or another endpoint.

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] I have commented on my code, particularly in hard-to-understand
areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Daniel Jimenez <devildan.knex@gmail.com>
Co-authored-by: Daniel Jimenez <daniel.jimenez@spark64.com>
2025-05-22 17:57:12 +07:00

69 lines
1.8 KiB
YAML

type: object
properties:
id:
type: integer
description: The ID of the automation rule
account_id:
type: integer
description: Account Id
name:
type: string
description: The name of the rule
example: Add label on message create event
description:
type: string
description: Description to give more context about the rule
example: Add label support and sales on message create event if incoming message content contains text help
event_name:
type: string
description: Automation Rule event, on which we call the actions(conversation_created, conversation_updated, message_created)
enum:
- conversation_created
- conversation_updated
- message_created
example: message_created
conditions:
type: array
description: Array of conditions on which conversation/message filter would work
items:
type: object
properties:
values:
type: array
items:
type: string
attribute_key:
type: string
query_operator:
type: string
filter_operator:
type: string
example:
attribute_key: content
filter_operator: contains
values:
- help
query_operator: and
actions:
type: array
description: Array of actions which we perform when condition matches
items:
type: object
properties:
action_name:
type: string
action_params:
type: array
items:
type: string
example:
action_name: add_label
action_params:
- support
- sales
created_on:
type: integer
description: The timestamp when the rule was created
active:
type: boolean
description: Enable/disable automation rule