24 KiB
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
- Create OpenAPI 3.0 Specification - Standardize endpoint documentation
- Add Request/Response Examples - Enable SDK generation (Swagger Codegen)
- Document Error Codes - Establish error handling standards
- Rate Limiting Policy - Prevent API abuse
- Webhook Support - Enable event-driven integrations
- API Versioning - Enable backward compatibility for future changes
- 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