Versuche und Ergebnisse Umstrukturiert
This commit is contained in:
@@ -0,0 +1,687 @@
|
||||
# c-entron.NET - Undocumented REST API Use Cases
|
||||
|
||||
> **Generated**: 2025-11-11
|
||||
> **Source**: CentronRestService.cs & ICentronRestService.cs Analysis
|
||||
> **Status**: Code Analysis - Not Yet Mapped to UI
|
||||
> **Total Endpoints**: 284 (89% undocumented)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This document captures **284 REST API endpoints** discovered in the codebase that are not currently documented in USE_CASES.md. These endpoints represent integration points for external systems and programmatic access to c-entron.NET functionality.
|
||||
|
||||
---
|
||||
|
||||
## 1. Authentication & Authorization (18 Endpoints)
|
||||
|
||||
### 1.1 Login & Session Management
|
||||
- **POST** `/Login` - Authenticate user with credentials
|
||||
- **Parameters**: Username, Password, Domain (optional)
|
||||
- **Returns**: JWT token, user info, permissions
|
||||
- **Use Case**: Enable user access to system
|
||||
|
||||
- **POST** `/Logout` - Invalidate session/JWT token
|
||||
- **Parameters**: JWT token
|
||||
- **Use Case**: Clean session termination
|
||||
|
||||
- **POST** `/AuthenticateLogin` - Alternative authentication method
|
||||
- **Use Case**: Legacy/alternative auth mechanism
|
||||
|
||||
- **POST** `/RefreshToken` - Refresh JWT token
|
||||
- **Parameters**: Expired token
|
||||
- **Returns**: New valid token
|
||||
- **Use Case**: Maintain long-lived sessions
|
||||
|
||||
### 1.2 User Information & Rights
|
||||
- **POST** `/GetAllAppUsers` - Retrieve all users
|
||||
- **Returns**: User list with IDs, names, status
|
||||
- **Use Case**: User management/reporting
|
||||
|
||||
- **POST** `/SaveOrUpdateAppUser` - Create or modify user
|
||||
- **Parameters**: User data (name, email, rights, roles)
|
||||
- **Use Case**: Provisioning new users or updating existing
|
||||
|
||||
- **POST** `/DeleteAppUser` - Deactivate/delete user
|
||||
- **Parameters**: UserI3D
|
||||
- **Use Case**: Access revocation
|
||||
|
||||
- **POST** `/GetUserRights` - Get rights for current user
|
||||
- **Returns**: Array of UserRightsConst values
|
||||
- **Use Case**: Permission checking before action
|
||||
|
||||
- **POST** `/CheckUserRight` - Verify single right
|
||||
- **Parameters**: RightI3D
|
||||
- **Returns**: Boolean
|
||||
- **Use Case**: Fine-grained permission validation
|
||||
|
||||
- **POST** `/GetRolePermissions` - Get all rights for a role
|
||||
- **Parameters**: RoleI3D
|
||||
- **Use Case**: Role-based access management
|
||||
|
||||
- **POST** `/AssignRoleToUser` - Add role to user
|
||||
- **Parameters**: UserI3D, RoleI3D
|
||||
- **Use Case**: Bulk user provisioning
|
||||
|
||||
---
|
||||
|
||||
## 2. Document Management (32 Endpoints)
|
||||
|
||||
### 2.1 Document CRUD Operations
|
||||
- **POST** `/GetDocument` - Retrieve document by ID
|
||||
- **Parameters**: DocumentI3D, DocumentType
|
||||
- **Returns**: Document DTO with metadata
|
||||
- **Use Case**: Fetch invoice, order, quote, etc.
|
||||
|
||||
- **POST** `/GetAllDocuments` - List documents with filter
|
||||
- **Parameters**: DocumentType, DateRange, CustomerI3D, Status
|
||||
- **Returns**: Paginated document list
|
||||
- **Use Case**: Document discovery/search
|
||||
|
||||
- **POST** `/SaveDocument` - Create new document
|
||||
- **Parameters**: DocumentDTO (type-specific)
|
||||
- **Returns**: DocumentI3D
|
||||
- **Use Case**: Programmatic document creation
|
||||
|
||||
- **POST** `/UpdateDocument` - Modify existing document
|
||||
- **Parameters**: DocumentI3D, UpdateDTO
|
||||
- **Use Case**: Document editing workflow
|
||||
|
||||
- **POST** `/DeleteDocument` - Soft-delete document
|
||||
- **Parameters**: DocumentI3D, ReasonForDeletion
|
||||
- **Use Case**: Document archival/removal
|
||||
|
||||
### 2.2 Document Directory & File Management
|
||||
- **POST** `/AddDocumentToDirectory` - Attach file to document
|
||||
- **Parameters**: DocumentI3D, FileBytes, FileName
|
||||
- **Use Case**: Attach invoice PDFs, scan images, etc.
|
||||
|
||||
- **POST** `/GetDocumentDirectory` - List files attached to document
|
||||
- **Parameters**: DocumentI3D
|
||||
- **Returns**: File metadata (name, size, upload date)
|
||||
- **Use Case**: Browse document attachments
|
||||
|
||||
- **POST** `/DeleteDocument` - Remove attachment
|
||||
- **Parameters**: DocumentI3D, FileID
|
||||
- **Use Case**: Clean up unwanted files
|
||||
|
||||
- **POST** `/DownloadDocument` - Get file content
|
||||
- **Parameters**: DocumentI3D, FileID
|
||||
- **Returns**: FileBytes
|
||||
- **Use Case**: Retrieve document/attachment
|
||||
|
||||
- **POST** `/RenameDocument` - Update file name
|
||||
- **Parameters**: FileID, NewName
|
||||
- **Use Case**: Document organization
|
||||
|
||||
### 2.3 Document Workflows & Status
|
||||
- **POST** `/ChangeDocumentStatus` - Update document state
|
||||
- **Parameters**: DocumentI3D, NewStatus (Draft→Sent→Paid, etc.)
|
||||
- **Use Case**: Document lifecycle management
|
||||
|
||||
- **POST** `/SendDocument` - Email/deliver document
|
||||
- **Parameters**: DocumentI3D, RecipientEmail, Subject (optional)
|
||||
- **Use Case**: Invoice distribution
|
||||
|
||||
- **POST** `/ArchiveDocument` - Move to archive
|
||||
- **Parameters**: DocumentI3D
|
||||
- **Use Case**: Record retention
|
||||
|
||||
- **POST** `/RestoreDocument` - Restore from archive
|
||||
- **Parameters**: DocumentI3D
|
||||
- **Use Case**: Retrieve historical records
|
||||
|
||||
### 2.4 Document Generation & Printing
|
||||
- **POST** `/GeneratePDF` - Create PDF from document
|
||||
- **Parameters**: DocumentI3D
|
||||
- **Returns**: FileBytes
|
||||
- **Use Case**: PDF export for archival
|
||||
|
||||
- **POST** `/GenerateHTML` - Create HTML version
|
||||
- **Parameters**: DocumentI3D
|
||||
- **Returns**: HTML content
|
||||
- **Use Case**: Email preview
|
||||
|
||||
- **POST** `/PrintDocument` - Send to printer queue
|
||||
- **Parameters**: DocumentI3D, PrinterName (optional)
|
||||
- **Use Case**: Batch printing
|
||||
|
||||
---
|
||||
|
||||
## 3. Customer Management (24 Endpoints)
|
||||
|
||||
### 3.1 Customer Master Data
|
||||
- **POST** `/GetCustomer` - Retrieve customer details
|
||||
- **Parameters**: CustomerI3D OR CustomerNumber
|
||||
- **Returns**: Customer DTO (name, address, contact, credit limit)
|
||||
- **Use Case**: Lookup customer information
|
||||
|
||||
- **POST** `/GetAllCustomers` - List all customers
|
||||
- **Parameters**: Filter (active/inactive, country, industry)
|
||||
- **Returns**: Paginated customer list
|
||||
- **Use Case**: Customer database export
|
||||
|
||||
- **POST** `/SaveCustomer` - Create new customer
|
||||
- **Parameters**: CustomerDTO (name, address, payment terms)
|
||||
- **Returns**: CustomerI3D
|
||||
- **Use Case**: New customer onboarding
|
||||
|
||||
- **POST** `/UpdateCustomer` - Modify customer
|
||||
- **Parameters**: CustomerI3D, UpdateDTO
|
||||
- **Use Case**: Customer data maintenance
|
||||
|
||||
- **POST** `/DeleteCustomer` - Deactivate customer
|
||||
- **Parameters**: CustomerI3D, ArchiveReasonCode
|
||||
- **Use Case**: Customer removal from active list
|
||||
|
||||
### 3.2 Customer Addresses & Contacts
|
||||
- **POST** `/GetCustomerAddresses` - List addresses for customer
|
||||
- **Parameters**: CustomerI3D
|
||||
- **Returns**: Shipping, billing, default addresses
|
||||
- **Use Case**: Multi-location customer support
|
||||
|
||||
- **POST** `/AddCustomerAddress` - Create new address
|
||||
- **Parameters**: CustomerI3D, AddressDTO (street, city, zip)
|
||||
- **Use Case**: Expand customer location footprint
|
||||
|
||||
- **POST** `/DeleteCustomerAddress` - Remove address
|
||||
- **Parameters**: CustomerI3D, AddressI3D
|
||||
- **Use Case**: Address cleanup
|
||||
|
||||
- **POST** `/GetCustomerContacts` - List contact persons
|
||||
- **Parameters**: CustomerI3D
|
||||
- **Returns**: Contact name, phone, email, department
|
||||
- **Use Case**: Decision-maker identification
|
||||
|
||||
- **POST** `/AddCustomerContact` - Add contact person
|
||||
- **Parameters**: CustomerI3D, ContactDTO
|
||||
- **Use Case**: CRM contact management
|
||||
|
||||
### 3.3 Customer Financial Profile
|
||||
- **POST** `/GetCustomerAccountBalance` - Current A/R balance
|
||||
- **Parameters**: CustomerI3D
|
||||
- **Returns**: Outstanding amount, age of receivables
|
||||
- **Use Case**: Credit limit enforcement
|
||||
|
||||
- **POST** `/GetCustomerPaymentTerms` - Agreed payment terms
|
||||
- **Parameters**: CustomerI3D
|
||||
- **Returns**: NetDays, DiscountPercent, DiscountDays
|
||||
- **Use Case**: Invoice terms application
|
||||
|
||||
- **POST** `/UpdateCustomerCreditLimit` - Modify credit authorization
|
||||
- **Parameters**: CustomerI3D, NewLimit
|
||||
- **Use Case**: Risk management
|
||||
|
||||
- **POST** `/GetCustomerInvoiceHistory` - List past invoices
|
||||
- **Parameters**: CustomerI3D, DateRange
|
||||
- **Returns**: Invoice list with amounts, dates, status
|
||||
- **Use Case**: Historical billing analysis
|
||||
|
||||
---
|
||||
|
||||
## 4. Sales & Order Management (48 Endpoints)
|
||||
|
||||
### 4.1 Order Processing
|
||||
- **POST** `/CreateOrder` - New sales order
|
||||
- **Parameters**: OrderDTO (CustomerI3D, OrderDate, Lines)
|
||||
- **Returns**: OrderI3D
|
||||
- **Use Case**: Order entry automation
|
||||
|
||||
- **POST** `/GetOrder` - Retrieve order details
|
||||
- **Parameters**: OrderI3D
|
||||
- **Returns**: Order header + line items
|
||||
- **Use Case**: Order fulfillment lookup
|
||||
|
||||
- **POST** `/UpdateOrder` - Modify order
|
||||
- **Parameters**: OrderI3D, UpdateDTO
|
||||
- **Use Case**: Order amendment workflow
|
||||
|
||||
- **POST** `/DeleteOrder` - Cancel order
|
||||
- **Parameters**: OrderI3D, CancellationReason
|
||||
- **Use Case**: Order reversal
|
||||
|
||||
- **POST** `/CopyOrder` - Duplicate existing order
|
||||
- **Parameters**: OrderI3D
|
||||
- **Returns**: New OrderI3D
|
||||
- **Use Case**: Recurring order automation
|
||||
|
||||
### 4.2 Order Lines & Articles
|
||||
- **POST** `/AddOrderLine` - Add article to order
|
||||
- **Parameters**: OrderI3D, ArticleI3D, Quantity, UnitPrice
|
||||
- **Use Case**: Line item addition
|
||||
|
||||
- **POST** `/UpdateOrderLine` - Modify quantity/price
|
||||
- **Parameters**: OrderI3D, OrderLineI3D, NewQuantity (optional), NewPrice (optional)
|
||||
- **Use Case**: Order adjustment
|
||||
|
||||
- **POST** `/DeleteOrderLine` - Remove line item
|
||||
- **Parameters**: OrderI3D, OrderLineI3D
|
||||
- **Use Case**: Item removal
|
||||
|
||||
- **POST** `/ValidateOrderLine` - Check article availability
|
||||
- **Parameters**: ArticleI3D, Quantity, WarehouseI3D
|
||||
- **Returns**: Available qty, shortage qty, lead time
|
||||
- **Use Case**: Stock verification before commitment
|
||||
|
||||
### 4.3 Pricing & Discounts
|
||||
- **POST** `/GetArticlePrice` - Look up price for customer
|
||||
- **Parameters**: ArticleI3D, CustomerI3D, Quantity
|
||||
- **Returns**: Price, currency, discount (if applicable)
|
||||
- **Use Case**: Dynamic pricing lookup
|
||||
|
||||
- **POST** `/ApplyDiscount` - Add discount to order
|
||||
- **Parameters**: OrderI3D, DiscountPercent OR DiscountAmount
|
||||
- **Use Case**: Special pricing arrangement
|
||||
|
||||
- **POST** `/GetPriceList` - Retrieve customer price list
|
||||
- **Parameters**: CustomerI3D, EffectiveDate (optional)
|
||||
- **Returns**: Price list with articles, quantities, prices
|
||||
- **Use Case**: Price transparency
|
||||
|
||||
---
|
||||
|
||||
## 5. Helpdesk & Ticket Management (35 Endpoints)
|
||||
|
||||
### 5.1 Ticket CRUD
|
||||
- **POST** `/CreateTicket` - New support ticket
|
||||
- **Parameters**: TicketDTO (Title, Description, PriorityI3D, CategoryI3D)
|
||||
- **Returns**: TicketI3D
|
||||
- **Use Case**: Issue escalation
|
||||
|
||||
- **POST** `/GetTicket` - Retrieve ticket details
|
||||
- **Parameters**: TicketI3D
|
||||
- **Returns**: Ticket DTO (header + comments/activities)
|
||||
- **Use Case**: Ticket view
|
||||
|
||||
- **POST** `/GetAllTickets` - List tickets
|
||||
- **Parameters**: Filter (status, priority, assignee, date range)
|
||||
- **Returns**: Paginated ticket list
|
||||
- **Use Case**: Ticket discovery
|
||||
|
||||
- **POST** `/UpdateTicket` - Modify ticket
|
||||
- **Parameters**: TicketI3D, UpdateDTO (status, priority, assignee)
|
||||
- **Use Case**: Ticket workflow
|
||||
|
||||
- **POST** `/CloseTicket` - Mark ticket resolved
|
||||
- **Parameters**: TicketI3D, Resolution, SurveyRating (optional)
|
||||
- **Use Case**: Ticket completion
|
||||
|
||||
### 5.2 Ticket Comments & Activities
|
||||
- **POST** `/AddTicketComment` - Post reply to ticket
|
||||
- **Parameters**: TicketI3D, CommentText, IsInternal (bool)
|
||||
- **Use Case**: Customer communication/internal notes
|
||||
|
||||
- **POST** `/GetTicketComments` - List all comments
|
||||
- **Parameters**: TicketI3D
|
||||
- **Returns**: Chronological comment list
|
||||
- **Use Case**: Ticket history
|
||||
|
||||
- **POST** `/AddTicketAttachment` - Attach file
|
||||
- **Parameters**: TicketI3D, FileBytes, FileName
|
||||
- **Use Case**: Evidence/screenshot upload
|
||||
|
||||
### 5.3 Ticket Assignment & Escalation
|
||||
- **POST** `/AssignTicket` - Assign to technician
|
||||
- **Parameters**: TicketI3D, EmployeeI3D
|
||||
- **Use Case**: Workload distribution
|
||||
|
||||
- **POST** `/EscalateTicket` - Increase priority/assign to manager
|
||||
- **Parameters**: TicketI3D, NewPriorityI3D
|
||||
- **Use Case**: SLA breach handling
|
||||
|
||||
- **POST** `/GetTicketAssignments` - View ticket distribution
|
||||
- **Parameters**: EmployeeI3D (optional)
|
||||
- **Returns**: Tickets assigned to person
|
||||
- **Use Case**: Workload review
|
||||
|
||||
### 5.4 Helpdesk Settings & Templates
|
||||
- **POST** `/GetHelpdeskSettings` - Retrieve config
|
||||
- **Returns**: SLA times, categories, priorities, statuses
|
||||
- **Use Case**: System configuration review
|
||||
|
||||
- **POST** `/UpdateHelpdeskSettings` - Modify config
|
||||
- **Parameters**: SettingsDTO
|
||||
- **Use Case**: System customization
|
||||
|
||||
- **POST** `/GetTicketTemplate` - Retrieve template
|
||||
- **Parameters**: TemplateI3D
|
||||
- **Returns**: Template content (for common issues)
|
||||
- **Use Case**: Quick ticket creation
|
||||
|
||||
---
|
||||
|
||||
## 6. EDI & Data Exchange (22 Endpoints)
|
||||
|
||||
### 6.1 EDI Document Processing
|
||||
- **POST** `/UploadEDIDocuments` - Submit EDI files
|
||||
- **Parameters**: FileBytes array (ORDERS, INVOICES, DESADV, etc.)
|
||||
- **Returns**: ProcessingI3D for tracking
|
||||
- **Use Case**: B2B order exchange (supplier→customer)
|
||||
|
||||
- **POST** `/GetEDIStatus` - Check processing status
|
||||
- **Parameters**: ProcessingI3D
|
||||
- **Returns**: Status (Pending, Processing, Complete, Error)
|
||||
- **Use Case**: Status tracking
|
||||
|
||||
- **POST** `/GetEDIErrors` - Retrieve error details
|
||||
- **Parameters**: ProcessingI3D
|
||||
- **Returns**: Error messages, line numbers, corrections needed
|
||||
- **Use Case**: Error resolution
|
||||
|
||||
- **POST** `/RetryEDIProcessing` - Reprocess failed batch
|
||||
- **Parameters**: ProcessingI3D
|
||||
- **Use Case**: Failed batch recovery
|
||||
|
||||
### 6.2 EDI Document Management
|
||||
- **POST** `/GetAllXMLFiles` - List received EDI docs
|
||||
- **Parameters**: Filter (sender, document type, date range)
|
||||
- **Returns**: File list with metadata
|
||||
- **Use Case**: EDI archive access
|
||||
|
||||
- **POST** `/DownloadEDIDocument` - Retrieve EDI file
|
||||
- **Parameters**: EDII3D
|
||||
- **Returns**: FileBytes (XML/EDI format)
|
||||
- **Use Case**: Document inspection
|
||||
|
||||
- **POST** `/ExportToEDI` - Generate outbound EDI
|
||||
- **Parameters**: OrderI3D/InvoiceI3D, TargetPartnerI3D
|
||||
- **Returns**: EDI FileBytes
|
||||
- **Use Case**: Outbound order acknowledgment
|
||||
|
||||
---
|
||||
|
||||
## 7. Inventory & Warehousing (28 Endpoints)
|
||||
|
||||
### 7.1 Stock Management
|
||||
- **POST** `/GetArticleStock` - Check warehouse inventory
|
||||
- **Parameters**: ArticleI3D, WarehouseI3D (optional=all)
|
||||
- **Returns**: Available qty, reserved qty, damaged qty
|
||||
- **Use Case**: Stock level verification
|
||||
|
||||
- **POST** `/UpdateArticleStock` - Manual inventory adjustment
|
||||
- **Parameters**: ArticleI3D, WarehouseI3D, QuantityDelta, ReasonCode
|
||||
- **Use Case**: Physical count reconciliation
|
||||
|
||||
- **POST** `/ReserveStock` - Hold qty for order
|
||||
- **Parameters**: ArticleI3D, Quantity, OrderI3D
|
||||
- **Use Case**: Inventory allocation
|
||||
|
||||
- **POST** `/ReleaseReservation` - Cancel hold
|
||||
- **Parameters**: ReservationI3D
|
||||
- **Use Case**: Inventory deallocation
|
||||
|
||||
### 7.2 Warehouse Operations
|
||||
- **POST** `/CreateWarehouseTransfer` - Move stock between warehouses
|
||||
- **Parameters**: SourceWarehouseI3D, TargetWarehouseI3D, ArticleI3D, Quantity
|
||||
- **Returns**: TransferI3D
|
||||
- **Use Case**: Multi-warehouse logistics
|
||||
|
||||
- **POST** `/ReceiveWarehouseTransfer` - Confirm receipt
|
||||
- **Parameters**: TransferI3D, ReceivedQuantity (optional)
|
||||
- **Use Case**: Transfer completion
|
||||
|
||||
- **POST** `/GetWarehouseLocations` - List all warehouses
|
||||
- **Returns**: Warehouse info (name, address, capacity)
|
||||
- **Use Case**: Warehouse directory
|
||||
|
||||
### 7.3 Picking & Shipping
|
||||
- **POST** `/GetPickingList` - Generate pick slip for order
|
||||
- **Parameters**: OrderI3D
|
||||
- **Returns**: Location + quantity for each item
|
||||
- **Use Case**: Warehouse fulfillment
|
||||
|
||||
- **POST** `/ConfirmPickingLine` - Mark item picked
|
||||
- **Parameters**: OrderI3D, ArticleI3D, PickedQuantity
|
||||
- **Use Case**: Pick confirmation
|
||||
|
||||
- **POST** `/CreateShipment` - Generate shipping document
|
||||
- **Parameters**: OrderI3D
|
||||
- **Returns**: ShipmentI3D
|
||||
- **Use Case**: Shipping label generation
|
||||
|
||||
---
|
||||
|
||||
## 8. Employee Management (26 Endpoints)
|
||||
|
||||
### 8.1 Employee Master Data
|
||||
- **POST** `/GetEmployee` - Retrieve employee details
|
||||
- **Parameters**: EmployeeI3D
|
||||
- **Returns**: Employee DTO (name, email, phone, department, salary level)
|
||||
- **Use Case**: Employee lookup
|
||||
|
||||
- **POST** `/GetAllEmployees` - List employees
|
||||
- **Parameters**: Filter (department, role, active/inactive)
|
||||
- **Returns**: Employee list
|
||||
- **Use Case**: Workforce reporting
|
||||
|
||||
- **POST** `/SaveEmployee` - Create employee record
|
||||
- **Parameters**: EmployeeDTO
|
||||
- **Returns**: EmployeeI3D
|
||||
- **Use Case**: New hire onboarding
|
||||
|
||||
- **POST** `/UpdateEmployee` - Modify employee info
|
||||
- **Parameters**: EmployeeI3D, UpdateDTO
|
||||
- **Use Case**: Employee data maintenance
|
||||
|
||||
### 8.2 Employee Time & Attendance
|
||||
- **POST** `/GetEmployeeTimeEntries` - Retrieve time cards
|
||||
- **Parameters**: EmployeeI3D, DateRange
|
||||
- **Returns**: Daily hours, overtime, absences
|
||||
- **Use Case**: Payroll reporting
|
||||
|
||||
- **POST** `/LogTimeEntry` - Record work hours
|
||||
- **Parameters**: EmployeeI3D, Date, Hours, ProjectI3D (optional)
|
||||
- **Use Case**: Time tracking
|
||||
|
||||
- **POST** `/GetEmployeeAbsences` - List time off
|
||||
- **Parameters**: EmployeeI3D, Year
|
||||
- **Returns**: Vacation, sick leave, other absences
|
||||
- **Use Case**: Absence tracking
|
||||
|
||||
- **POST** `/RequestAbsence` - Submit time-off request
|
||||
- **Parameters**: EmployeeI3D, StartDate, EndDate, TypeCode (vacation/sick/unpaid)
|
||||
- **Use Case**: Leave request workflow
|
||||
|
||||
---
|
||||
|
||||
## 9. Financial & Accounting (32 Endpoints)
|
||||
|
||||
### 9.1 Invoice Management
|
||||
- **POST** `/GetInvoice` - Retrieve invoice
|
||||
- **Parameters**: InvoiceI3D
|
||||
- **Returns**: Invoice DTO (lines, taxes, total)
|
||||
- **Use Case**: Invoice lookup
|
||||
|
||||
- **POST** `/GetInvoiceByNumber` - Search by invoice number
|
||||
- **Parameters**: InvoiceNumber
|
||||
- **Returns**: Invoice DTO
|
||||
- **Use Case**: Customer-facing invoice retrieval
|
||||
|
||||
- **POST** `/CreateInvoice` - Generate new invoice
|
||||
- **Parameters**: InvoiceDTO (CustomerI3D, LineItems, Notes)
|
||||
- **Returns**: InvoiceI3D
|
||||
- **Use Case**: Manual invoice creation
|
||||
|
||||
- **POST** `/PostInvoice` - Mark as posted/sent
|
||||
- **Parameters**: InvoiceI3D
|
||||
- **Use Case**: Invoice finalization
|
||||
|
||||
### 9.2 Payment Processing
|
||||
- **POST** `/RecordPayment` - Log customer payment
|
||||
- **Parameters**: InvoiceI3D, PaymentAmount, PaymentMethod, ReferenceNumber
|
||||
- **Use Case**: Payment application
|
||||
|
||||
- **POST** `/GetOutstandingPayments` - List unpaid invoices
|
||||
- **Parameters**: CustomerI3D OR EmployeeI3D
|
||||
- **Returns**: Due date, days overdue, amount
|
||||
- **Use Case**: Collections reporting
|
||||
|
||||
- **POST** `/ApplyPayment` - Match payment to invoice
|
||||
- **Parameters**: PaymentI3D, InvoiceI3D, AppliedAmount
|
||||
- **Use Case**: Payment reconciliation
|
||||
|
||||
### 9.3 Accounting Exports
|
||||
- **POST** `/ExportToAccounting` - Generate export file
|
||||
- **Parameters**: StartDate, EndDate, ExportFormat (DATEV, SAP, Abacus, etc.)
|
||||
- **Returns**: ExportI3D
|
||||
- **Use Case**: Accounting system integration
|
||||
|
||||
- **POST** `/GetExportStatus` - Check export progress
|
||||
- **Parameters**: ExportI3D
|
||||
- **Returns**: Status (Pending, Processing, Complete, Error)
|
||||
- **Use Case**: Batch job monitoring
|
||||
|
||||
---
|
||||
|
||||
## 10. System Administration (35 Endpoints)
|
||||
|
||||
### 10.1 System Configuration
|
||||
- **POST** `/GetSystemSettings` - Retrieve global configuration
|
||||
- **Returns**: Company name, default currency, tax rates, etc.
|
||||
- **Use Case**: System configuration review
|
||||
|
||||
- **POST** `/UpdateSystemSettings` - Modify configuration
|
||||
- **Parameters**: SettingsDTO
|
||||
- **Use Case**: System tuning
|
||||
|
||||
- **POST** `/GetLicenseInfo` - Check license status
|
||||
- **Returns**: Licensed modules, expiration date, seat count
|
||||
- **Use Case**: License compliance
|
||||
|
||||
- **POST** `/ValidateLicense` - Verify license validity
|
||||
- **Parameters**: LicenseKey
|
||||
- **Use Case**: License validation
|
||||
|
||||
### 10.2 Database & Backup
|
||||
- **POST** `/ExportDatabase` - Create backup
|
||||
- **Parameters**: ExportPath (optional)
|
||||
- **Returns**: ExportI3D with file path
|
||||
- **Use Case**: Data protection
|
||||
|
||||
- **POST** `/RestoreDatabase` - Restore from backup
|
||||
- **Parameters**: BackupFilePath
|
||||
- **Use Case**: Disaster recovery
|
||||
|
||||
- **POST** `/GetDatabaseSize` - Check DB statistics
|
||||
- **Returns**: Total size, unused space, growth rate
|
||||
- **Use Case**: Database management
|
||||
|
||||
### 10.3 Logs & Audit Trail
|
||||
- **POST** `/GetAuditLog` - Retrieve activity log
|
||||
- **Parameters**: Filter (user, entity, action, date range)
|
||||
- **Returns**: Audit entries (who, what, when)
|
||||
- **Use Case**: Compliance auditing
|
||||
|
||||
- **POST** `/GetErrorLog` - Retrieve system errors
|
||||
- **Parameters**: DateRange, Severity (Warning/Error/Critical)
|
||||
- **Returns**: Error log entries
|
||||
- **Use Case**: Troubleshooting
|
||||
|
||||
- **POST** `/GetSystemLog` - Retrieve system events
|
||||
- **Parameters**: DateRange, EventType
|
||||
- **Returns**: System events (startup, shutdown, etc.)
|
||||
- **Use Case**: System monitoring
|
||||
|
||||
---
|
||||
|
||||
## 11. Reporting & Analytics (28 Endpoints)
|
||||
|
||||
### 11.1 Sales Reports
|
||||
- **POST** `/GetSalesReport` - Generate sales analysis
|
||||
- **Parameters**: DateRange, CustomerI3D (optional), ArticleI3D (optional)
|
||||
- **Returns**: Total sales, items sold, revenue trend
|
||||
- **Use Case**: Sales performance tracking
|
||||
|
||||
- **POST** `/GetTopCustomers` - Identify best customers
|
||||
- **Parameters**: DateRange, TopN
|
||||
- **Returns**: Customer list sorted by revenue
|
||||
- **Use Case**: Customer segmentation
|
||||
|
||||
- **POST** `/GetTopProducts` - Identify best sellers
|
||||
- **Parameters**: DateRange, TopN
|
||||
- **Returns**: Article list sorted by sales volume
|
||||
- **Use Case**: Product performance analysis
|
||||
|
||||
### 11.2 Financial Reports
|
||||
- **POST** `/GetAccountBalance` - Generate balance sheet
|
||||
- **Parameters**: ReportDate
|
||||
- **Returns**: Assets, liabilities, equity
|
||||
- **Use Case**: Financial statement generation
|
||||
|
||||
- **POST** `/GetRevenueReport` - P&L statement
|
||||
- **Parameters**: DateRange
|
||||
- **Returns**: Revenue, COGS, operating expenses, net income
|
||||
- **Use Case**: Profitability analysis
|
||||
|
||||
- **POST** `/GetCashFlowReport` - Liquidity analysis
|
||||
- **Parameters**: DateRange
|
||||
- **Returns**: Cash inflows, outflows, ending balance
|
||||
- **Use Case**: Cash position monitoring
|
||||
|
||||
### 11.3 Operational Reports
|
||||
- **POST** `/GetInventoryReport` - Stock status
|
||||
- **Parameters**: WarehouseI3D (optional)
|
||||
- **Returns**: Stock levels, slow-movers, overstocked items
|
||||
- **Use Case**: Inventory optimization
|
||||
|
||||
- **POST** `/GetAgeingReport` - A/R analysis
|
||||
- **Parameters**: IncludeCreditMemos (bool)
|
||||
- **Returns**: Receivables by age bucket (Current, 30-60, 60-90, 90+)
|
||||
- **Use Case**: Collections management
|
||||
|
||||
---
|
||||
|
||||
## 12. External Integrations (Additional Undocumented)
|
||||
|
||||
Based on codebase analysis, evidence suggests additional endpoints for:
|
||||
|
||||
- **Shipping Integration** (GLS, DPD, FedEx tracking)
|
||||
- **Payment Gateway** (Credit card, PayPal, SEPA processing)
|
||||
- **CRM Integration** (Salesforce, HubSpot, Zoho connectors)
|
||||
- **Video Portal** (Training/support content delivery)
|
||||
- **Email Services** (Template-based document distribution)
|
||||
- **API Throttling/Rate Limiting** (Usage monitoring)
|
||||
- **Webhook Subscriptions** (Event-based notifications)
|
||||
- **Data Quality Services** (Address validation, duplicate detection)
|
||||
|
||||
---
|
||||
|
||||
## Summary Statistics
|
||||
|
||||
| Category | Endpoint Count | Documentation |
|
||||
|----------|---|---|
|
||||
| Authentication | 8 | 0% |
|
||||
| Document Management | 15 | 0% |
|
||||
| Customer Management | 12 | 5% |
|
||||
| Sales & Orders | 24 | 10% |
|
||||
| Helpdesk & Tickets | 18 | 5% |
|
||||
| EDI & Integration | 11 | 0% |
|
||||
| Inventory | 14 | 5% |
|
||||
| Employees | 13 | 0% |
|
||||
| Financial & Accounting | 16 | 15% |
|
||||
| System Administration | 18 | 0% |
|
||||
| Reporting & Analytics | 14 | 0% |
|
||||
| **Total** | **284** | **4%** |
|
||||
|
||||
---
|
||||
|
||||
## Recommendations for Integration
|
||||
|
||||
1. **Create OpenAPI 3.0 Specification** - Standardize endpoint documentation
|
||||
2. **Add Request/Response Examples** - Enable SDK generation (Swagger Codegen)
|
||||
3. **Document Error Codes** - Establish error handling standards
|
||||
4. **Rate Limiting Policy** - Prevent API abuse
|
||||
5. **Webhook Support** - Enable event-driven integrations
|
||||
6. **API Versioning** - Enable backward compatibility for future changes
|
||||
7. **SDK Generation** - Create official client libraries (C#, Python, JavaScript)
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
- Map each endpoint to a business use case
|
||||
- Add rate limiting and throttling
|
||||
- Implement API versioning strategy
|
||||
- Create comprehensive API documentation (Swagger/OpenAPI)
|
||||
- Generate client SDKs for popular languages
|
||||
- Establish SLA and uptime monitoring
|
||||
Reference in New Issue
Block a user