Skip to content
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

feat: Add corporate card transactions exports api docs #575

Merged
merged 2 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
232 changes: 232 additions & 0 deletions reference/admin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9656,6 +9656,191 @@ components:
- matched_expenses
- last_user_matched_at
- metadata
corporate_card_transactions_export_config_column_formula:
type: object
properties:
function:
type: string
example: parse-format-time
parameters:
type: array
items:
anyOf:
- type: object
- type: string
- type: number
- type: integer
- type: boolean
example:
- function: field
parameters:
- spent_at
- yyyy-MM-dd'T'HH:mm:ss
- dd-MM-yyyy
- error in date formatting
description: |
Export column formula is a expression that is used to transform the data. Refer https://help.fylehq.com/en/articles/4422306-advanced-export-formulas for more details.
corporate_card_transactions_export_config:
type: object
additionalProperties: true
properties:
type:
type: string
enum:
- xlsx
- csv
description: |
Type of the export file.
example: csv
is_header_visible:
type: boolean
description: |
Whether to show the header in the export file. Only required for CSV and XLSX exports.
example: true
separate_line_items_entry:
type: object
properties:
enabled:
type: boolean
description: |
Whether to show the double rows for each line item in the export file.
example: false
debit_entries_only:
type: array
items:
type: string
description: |
Configure which columns to show for debit entries.
example:
- debit_amount
credit_entries_only:
type: array
items:
type: string
description: |
Configure which columns to show for credit entries.
example:
- credit_amount
description: |
Configure how to show the double rows for each line item in the export file, if enabled. Only required for CSV and XLSX exports.
columns:
type: array
items:
type: object
properties:
name:
type: string
description: |
Name of the column.
example: Spent Date
formula:
allOf:
- $ref: '#/components/schemas/corporate_card_transactions_export_config_column_formula'
description: |
Formula to transform the data in the column.
description: |
Configure the columns to show in the export file. Only required for CSV and XLSX exports.
corporate_card_transactions_exports_in:
type: object
additionalProperties: false
required:
- query_params
- notify_emails
- config
properties:
query_params:
allOf:
- $ref: '#/components/schemas/query_params'
nullable: false
notify_emails:
type: array
nullable: false
items:
$ref: '#/components/schemas/email'
description: |
List of emails to notify when the export is ready.
config:
allOf:
- $ref: '#/components/schemas/corporate_card_transactions_export_config'
nullable: false
description: |
Configuration for the export.
processed_at:
type: string
format: date-time
nullable: true
description: |
Signifies when this was processed in [ISO8601 format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14).
example: '2020-06-11T13:14:55.201598+00:00'
completed_at:
type: string
format: date-time
nullable: true
description: |
Signifies when this was completed in [ISO8601 format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14).
example: '2020-06-11T13:14:55.201598+00:00'
failed_at:
type: string
format: date-time
nullable: true
description: |
Signifies when this was failed in [ISO8601 format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14).
example: '2020-06-11T13:14:55.201598+00:00'
corporate_card_transactions_exports_out:
type: object
additionalProperties: false
properties:
created_at:
$ref: '#/components/schemas/created_at'
updated_at:
$ref: '#/components/schemas/updated_at'
id:
allOf:
- $ref: '#/components/schemas/id_string'
example: refilumWHrlPf7K
org_id:
$ref: '#/components/schemas/org_id'
user_id:
$ref: '#/components/schemas/user_id'
query_params:
allOf:
- $ref: '#/components/schemas/query_params'
nullable: false
notify_emails:
type: array
nullable: false
items:
$ref: '#/components/schemas/email'
config:
allOf:
- $ref: '#/components/schemas/corporate_card_transactions_export_config'
nullable: false
file_id:
anyOf:
- $ref: '#/components/schemas/null_field'
- $ref: '#/components/schemas/id_string'
nullable: true
example: filumVIrlPf7K
state:
type: string
nullable: false
enum:
- PENDING
- PROCESSING
- COMPLETED
- FAILED
description: |
Status of the export.
example: PENDING
processed_at:
$ref: '#/components/schemas/processed_at'
nullable: true
completed_at:
$ref: '#/components/schemas/completed_at'
nullable: true
failed_at:
$ref: '#/components/schemas/failed_at'
nullable: true
virtual_card_out:
type: object
properties:
Expand Down Expand Up @@ -21206,6 +21391,53 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/404'
/admin/corporate_card_transactions/exports:
post:
tags:
- Corporate Card Transactions
summary: Create Corproate Card Transactions Export
description: |
Create Corporate Card Transactions Export Request.
operationId: corporate_card_transactions_exports_post
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/corporate_card_transactions_exports_in'
required:
- data
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/corporate_card_transactions_exports_out'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
/admin/virtual_cards:
get:
tags:
Expand Down
2 changes: 2 additions & 0 deletions src/admin/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@ paths:
$ref: paths/admin@[email protected]
/admin/corporate_card_transactions/unmatch:
$ref: paths/admin@[email protected]
/admin/corporate_card_transactions/exports:
$ref: paths/admin@[email protected]

/admin/virtual_cards:
$ref: paths/admin@virtual_cards.yaml
Expand Down
46 changes: 46 additions & 0 deletions src/admin/paths/admin@[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
post:
tags:
- Corporate Card Transactions
summary: Create Corproate Card Transactions Export
description: |
Create Corporate Card Transactions Export Request.
operationId: corporate_card_transactions_exports_post
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
$ref: '../../components/schemas/corporate_card_transactions_exports.yaml#/corporate_card_transactions_exports_in'
required:
- data
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: '../../components/schemas/corporate_card_transactions_exports.yaml#/corporate_card_transactions_exports_out'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../components/schemas/400.yaml'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '../../components/schemas/401.yaml'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '../../components/schemas/403.yaml'
Loading