@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
1,126 lines • 111 kB
TypeScript
import { BaseServiceClient } from '../../core/base-client';
import type { HTTPClient } from '../../core/client';
import { BinTransferListParamsSchema, BinTransferCreateRequestSchema, BinTransferUpdateRequestSchema, ReceivingListParamsSchema, ReceivingCreateRequestSchema, ReceivingUpdateRequestSchema, TransferListParamsSchema, TransferCreateRequestSchema, TransferUpdateRequestSchema, PurchaseOrderReceiptListParamsSchema, PurchaseOrderReceiptCreateRequestSchema, PurchaseOrderReceiptUpdateRequestSchema, TransferReceiptListParamsSchema, TransferReceiptCreateRequestSchema, TransferReceiptUpdateRequestSchema, TransferShippingListParamsSchema, TransferShippingCreateRequestSchema, TransferShippingUpdateRequestSchema } from './schemas';
import type { z } from 'zod';
type BinTransferListParams = z.infer<typeof BinTransferListParamsSchema>;
type BinTransferCreateRequest = z.infer<typeof BinTransferCreateRequestSchema>;
type BinTransferUpdateRequest = z.infer<typeof BinTransferUpdateRequestSchema>;
type ReceivingListParams = z.infer<typeof ReceivingListParamsSchema>;
type ReceivingCreateRequest = z.infer<typeof ReceivingCreateRequestSchema>;
type ReceivingUpdateRequest = z.infer<typeof ReceivingUpdateRequestSchema>;
type TransferListParams = z.infer<typeof TransferListParamsSchema>;
type TransferCreateRequest = z.infer<typeof TransferCreateRequestSchema>;
type TransferUpdateRequest = z.infer<typeof TransferUpdateRequestSchema>;
type PurchaseOrderReceiptListParams = z.infer<typeof PurchaseOrderReceiptListParamsSchema>;
type PurchaseOrderReceiptCreateRequest = z.infer<typeof PurchaseOrderReceiptCreateRequestSchema>;
type PurchaseOrderReceiptUpdateRequest = z.infer<typeof PurchaseOrderReceiptUpdateRequestSchema>;
type TransferReceiptListParams = z.infer<typeof TransferReceiptListParamsSchema>;
type TransferReceiptCreateRequest = z.infer<typeof TransferReceiptCreateRequestSchema>;
type TransferReceiptUpdateRequest = z.infer<typeof TransferReceiptUpdateRequestSchema>;
type TransferShippingListParams = z.infer<typeof TransferShippingListParamsSchema>;
type TransferShippingCreateRequest = z.infer<typeof TransferShippingCreateRequestSchema>;
type TransferShippingUpdateRequest = z.infer<typeof TransferShippingUpdateRequestSchema>;
/**
* Nexus API Client
* @description Client for interacting with Nexus microservice API endpoints for comprehensive warehouse management
* @fullPath api.nexus
* @service nexus
* @domain warehouse-management
* @discoverable true
* @searchTerms ["nexus", "warehouse management", "inventory transfers", "receiving", "bin transfers", "warehouse operations"]
* @relatedEndpoints ["api.nexus.binTransfers", "api.nexus.receivings", "api.nexus.transfers", "api.nexus.health"]
* @commonPatterns ["Warehouse management operations", "Inventory movement tracking", "Receiving and transfer processing"]
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { NexusClient } from '@augur/api-client/services/nexus';
*
* const http = new HTTPClient('nexus', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const nexus = new NexusClient(http);
*
* // Create a bin transfer
* const binTransfer = await nexus.binTransfers.create({
* usersId: 1001,
* locationId: 5.0,
* transfers: [{
* lineNo: 1.0,
* invMastUid: 67890,
* itemId: 'ITEM001',
* toBin: 'A1-01',
* fromBin: 'B2-05',
* lot: 'LOT123',
* uom: 'EA',
* quantity: 10.0
* }]
* });
*
* // Create a receiving document
* const receiving = await nexus.receivings.create({
* poNo: 12345.0,
* referenceNo: 'REF001',
* jsonData: JSON.stringify({ items: [{ itemId: 'ITEM001', quantity: 100 }] })
* });
* ```
*/
export declare class NexusClient extends BaseServiceClient {
/**
* Create a new NexusClient instance
* @param http Configured HTTPClient instance
* @param baseUrl Base URL for the Nexus API (default: https://nexus.augur-api.com)
*/
constructor(http: HTTPClient, baseUrl?: string);
/**
* Health monitoring endpoints
* @description Methods for checking service availability and health status
*/
health: {
/**
* Simple health check endpoint that doesn't require authentication
* @description Returns "pong" response for basic connectivity testing
* @fullPath api.nexus.health.ping
* @service nexus
* @domain service-monitoring
* @dataMethod N/A (simple response)
* @discoverable true
* @searchTerms ["ping", "health check", "connectivity test", "service alive", "basic health"]
* @relatedEndpoints ["api.nexus.health.check"]
* @commonPatterns ["Test service connectivity", "Basic health check", "Ping service"]
* @returns Simple pong response
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const pong = await client.health.ping();
* console.log(pong.data); // "pong"
* ```
*/
ping: () => Promise<{
params: Record<string, unknown> | unknown[];
data: "pong";
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Comprehensive health check with authentication and site validation
* @description Validates authentication, site configuration, and service health
* @fullPath api.nexus.health.check
* @service nexus
* @domain service-monitoring
* @dataMethod N/A (returns health data)
* @discoverable true
* @searchTerms ["health check", "service health", "authentication check", "site validation", "comprehensive health"]
* @relatedEndpoints ["api.nexus.health.ping"]
* @commonPatterns ["Check service health", "Validate authentication", "Full health status"]
* @returns Health check response with site information
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const health = await client.health.check();
* console.log('Site:', health.data.siteId, 'Hash:', health.data.siteHash);
* ```
*/
check: () => Promise<{
params: Record<string, unknown> | unknown[];
data: {
siteHash: string;
siteId: string;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
};
/**
* Health monitoring data-only endpoints
* @description Data-only methods that return just the data portion of health responses
*/
healthData: {
/**
* Simple health check data only
* @description Returns only the data portion of ping response
* @fullPath api.nexus.healthData.ping
* @service nexus
* @domain service-monitoring
* @discoverable true
* @searchTerms ["ping data", "connectivity data", "service alive data"]
* @relatedEndpoints ["api.nexus.health.ping"]
* @commonPatterns ["Test connectivity without metadata"]
* @returns Ping data only
*/
ping: () => Promise<"pong">;
/**
* Comprehensive health check data only
* @description Returns only the data portion of health check response
* @fullPath api.nexus.healthData.check
* @service nexus
* @domain service-monitoring
* @discoverable true
* @searchTerms ["health data", "service status data", "health check data only"]
* @relatedEndpoints ["api.nexus.health.check"]
* @commonPatterns ["Get health status without metadata"]
* @returns Health check data only
*/
check: () => Promise<{
siteHash: string;
siteId: string;
}>;
};
/**
* Bin Transfer endpoints
* @description Methods for managing bin transfers - movement of inventory between bins within the same location
*/
binTransfers: {
/**
* Retrieve a list of bin transfer headers with optional filtering
* @description Returns all bin transfer headers with pagination and status filtering support
* @fullPath api.nexus.binTransfers.list
* @service nexus
* @domain warehouse-management
* @dataMethod listData
* @discoverable true
* @searchTerms ["bin transfers", "inventory movement", "warehouse transfers", "bin to bin", "list transfers"]
* @relatedEndpoints ["api.nexus.binTransfers.get", "api.nexus.binTransfers.getBinTransferStatus", "api.nexus.binTransfers.create"]
* @commonPatterns ["List all bin transfers", "Get transfer history", "Find transfers by status"]
* @param params Optional filtering and pagination parameters
* @returns Array of bin transfer headers
* @throws ValidationError When parameters are invalid or response is malformed
* @example
* ```typescript
* const transfers = await client.binTransfers.list({ limit: 20, statusCd: 704 });
* transfers.data.forEach(transfer => {
* console.log(`Transfer ${transfer.binTransferHdrUid}: Status ${transfer.statusCd}`);
* });
* ```
*/
list: (params?: {
edgeCache?: 3 | 2 | 4 | 1 | "1" | 5 | 8 | "2" | "3" | "4" | "5" | "8" | undefined;
limit?: number | undefined;
offset?: number | undefined;
statusCd?: number | undefined;
} | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Retrieve details for a specific bin transfer header
* @description Returns complete details for a bin transfer including JSON data and properties
* @fullPath api.nexus.binTransfers.get
* @service nexus
* @domain warehouse-management
* @dataMethod getData
* @discoverable true
* @searchTerms ["get bin transfer", "transfer details", "bin transfer by id", "transfer header"]
* @relatedEndpoints ["api.nexus.binTransfers.list", "api.nexus.binTransfers.getBinTransferStatus", "api.nexus.binTransfers.update"]
* @commonPatterns ["Get transfer details by ID", "View specific bin transfer", "Retrieve transfer information"]
* @param binTransferHdrUid Bin transfer header unique identifier
* @returns Complete bin transfer details
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const transfer = await client.binTransfers.get(12345);
* console.log('Transfer details:', transfer.data.jsonData);
* console.log('Users ID:', transfer.data.usersId);
* ```
*/
get: (id: string | number, params?: import("../../core/base-client").CacheParams | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Retrieve bin transfer status with detailed line items
* @description Returns complete bin transfer header with associated line items for status checking
* @fullPath api.nexus.binTransfers.getBinTransferStatus
* @service nexus
* @domain warehouse-management
* @dataMethod getBinTransferStatusData
* @discoverable true
* @searchTerms ["bin transfer status", "transfer line items", "transfer progress", "bin transfer details with lines"]
* @relatedEndpoints ["api.nexus.binTransfers.get", "api.nexus.binTransfers.list", "api.nexus.binTransfers.update"]
* @commonPatterns ["Check transfer status", "View transfer line items", "Get transfer progress"]
* @param binTransferHdrUid Bin transfer header unique identifier
* @returns Bin transfer with line items
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const status = await client.binTransfers.getBinTransferStatus(12345);
* console.log('Transfer lines:', status.data.lines?.length || 0);
* if (status.data.lines) {
* status.data.lines.forEach(line => {
* console.log(`Line ${line.lineNo}: ${line.itemId} from ${line.fromBin} to ${line.toBin}`);
* });
* }
* ```
*/
getBinTransferStatus: (id: string | number, params?: import("../../core/base-client").CacheParams | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
lines: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
lineNo: number;
invMastUid: number;
quantity: number | null;
itemId: string;
uom: string;
jsonData: string | null;
locationId: number | null;
toBin: string;
fromBin: string;
lot: string;
moveAvailable: string;
moveAllocations: string;
binTransferHdrUid: number;
}[];
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Create a new bin transfer header with associated line items
* @description Creates a bin transfer with complete transfer line items for inventory movement
* @fullPath api.nexus.binTransfers.create
* @service nexus
* @domain warehouse-management
* @dataMethod createData
* @discoverable true
* @searchTerms ["create bin transfer", "new transfer", "move inventory", "bin to bin transfer", "inventory movement"]
* @relatedEndpoints ["api.nexus.binTransfers.list", "api.nexus.binTransfers.get", "api.nexus.binTransfers.update"]
* @commonPatterns ["Create new bin transfer", "Move items between bins", "Start inventory transfer"]
* @param transferData Complete bin transfer data including user, location, and transfer lines
* @returns Created bin transfer header details
* @throws ValidationError When request is invalid or response is malformed
* @example
* ```typescript
* const transfer = await client.binTransfers.create({
* usersId: 1001,
* locationId: 5.0,
* requestId: 'req_12346',
* transfers: [{
* lineNo: 1.0,
* invMastUid: 67890,
* itemId: 'ITEM001',
* toBin: 'A1-01',
* fromBin: 'B2-05',
* lot: 'LOT123',
* uom: 'EA',
* moveAvailable: 'Y',
* quantity: 10.0
* }]
* });
* ```
*/
create: (data: {
usersId: number;
transfers: {
lineNo: number;
invMastUid: number;
itemId: string;
uom: string;
toBin: string;
fromBin: string;
lot: string;
quantity?: number | undefined;
moveAvailable?: string | undefined;
moveAllocations?: string | undefined;
}[];
locationId: number;
requestId?: string | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Update an existing bin transfer header
* @description Updates bin transfer status, process codes, and additional data
* @fullPath api.nexus.binTransfers.update
* @service nexus
* @domain warehouse-management
* @dataMethod updateData
* @discoverable true
* @searchTerms ["update bin transfer", "modify transfer", "change transfer status", "update transfer"]
* @relatedEndpoints ["api.nexus.binTransfers.get", "api.nexus.binTransfers.getBinTransferStatus", "api.nexus.binTransfers.delete"]
* @commonPatterns ["Update transfer status", "Modify bin transfer", "Change transfer details"]
* @param binTransferHdrUid Bin transfer header unique identifier
* @param updateData Fields to update on the bin transfer
* @returns Updated bin transfer details
* @throws ValidationError When request is invalid or response is malformed
* @example
* ```typescript
* const updated = await client.binTransfers.update(12346, {
* statusCd: 705,
* processCd: 705,
* properties: JSON.stringify({ notes: 'Transfer in progress' })
* });
* ```
*/
update: (id: string | number, data: {
statusCd?: number | undefined;
processCd?: number | undefined;
properties?: string | undefined;
jsonData?: string | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Soft delete a bin transfer header
* @description Marks a bin transfer as deleted by setting status code to 700
* @fullPath api.nexus.binTransfers.delete
* @service nexus
* @domain warehouse-management
* @dataMethod deleteData
* @discoverable true
* @searchTerms ["delete bin transfer", "remove transfer", "cancel transfer", "soft delete"]
* @relatedEndpoints ["api.nexus.binTransfers.get", "api.nexus.binTransfers.list", "api.nexus.binTransfers.update"]
* @commonPatterns ["Delete bin transfer", "Cancel transfer", "Remove transfer record"]
* @param binTransferHdrUid Bin transfer header unique identifier
* @returns Deleted bin transfer details with updated status
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const deleted = await client.binTransfers.delete(12346);
* console.log('Transfer deleted, status:', deleted.data.statusCd); // Should be 700
* ```
*/
delete: (id: string | number) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Retrieve a list of bin transfer headers with optional filtering (data only)
* @description Returns only the data array from bin transfer headers response
* @param params Optional filtering and pagination parameters
* @returns Array of bin transfer headers (data only)
* @throws ValidationError When parameters are invalid or response is malformed
* @example
* ```typescript
* const transfersData = await client.binTransfers.listData({ limit: 20, statusCd: 704 });
* transfersData.forEach(transfer => {
* console.log(`Transfer ${transfer.binTransferHdrUid}: Status ${transfer.statusCd}`);
* });
* ```
*/
listData: (params?: BinTransferListParams) => Promise<{
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}[]>;
/**
* Retrieve details for a specific bin transfer header (data only)
* @description Returns only the data from bin transfer details response
* @param binTransferHdrUid Bin transfer header unique identifier
* @returns Bin transfer details (data only)
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const transferData = await client.binTransfers.getData(12345);
* console.log('Transfer details:', transferData.jsonData);
* ```
*/
getData: (binTransferHdrUid: number | string) => Promise<{
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}>;
/**
* Retrieve bin transfer status with detailed line items (data only)
* @description Returns only the data from bin transfer status response
* @param binTransferHdrUid Bin transfer header unique identifier
* @returns Bin transfer with line items (data only)
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const statusData = await client.binTransfers.getBinTransferStatusData(12345);
* console.log('Transfer lines:', statusData.lines?.length || 0);
* ```
*/
getBinTransferStatusData: (binTransferHdrUid: number | string) => Promise<{
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
lines: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
lineNo: number;
invMastUid: number;
quantity: number | null;
itemId: string;
uom: string;
jsonData: string | null;
locationId: number | null;
toBin: string;
fromBin: string;
lot: string;
moveAvailable: string;
moveAllocations: string;
binTransferHdrUid: number;
}[];
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}>;
/**
* Create a new bin transfer header with associated line items (data only)
* @description Returns only the data from created bin transfer response
* @param transferData Complete bin transfer data including user, location, and transfer lines
* @returns Created bin transfer header details (data only)
* @throws ValidationError When request is invalid or response is malformed
*/
createData: (transferData: BinTransferCreateRequest) => Promise<{
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}>;
/**
* Update an existing bin transfer header (data only)
* @description Returns only the data from updated bin transfer response
* @param binTransferHdrUid Bin transfer header unique identifier
* @param updateData Fields to update on the bin transfer
* @returns Updated bin transfer details (data only)
* @throws ValidationError When request is invalid or response is malformed
*/
updateData: (binTransferHdrUid: number | string, updateData: BinTransferUpdateRequest) => Promise<{
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}>;
/**
* Soft delete a bin transfer header (data only)
* @description Returns only the data from deleted bin transfer response
* @param binTransferHdrUid Bin transfer header unique identifier
* @returns Deleted bin transfer details (data only)
* @throws ValidationError When response is malformed
*/
deleteData: (binTransferHdrUid: number | string) => Promise<{
response: string | null;
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
usersId: number;
locationId: number;
importState: string;
binTransferHdrUid: number;
}>;
};
/**
* Receiving endpoints
* @description Methods for managing receiving operations - purchase order receipts and inventory receiving processes
*/
receivings: {
/**
* Retrieve a list of receiving documents with optional filtering
* @description Returns receiving documents with pagination and filtering by PO number or status
* @fullPath api.nexus.receivings.list
* @service nexus
* @domain warehouse-management
* @dataMethod listData
* @discoverable true
* @searchTerms ["receiving documents", "purchase order receipts", "receiving list", "PO receipts", "inbound inventory"]
* @relatedEndpoints ["api.nexus.receivings.get", "api.nexus.receivings.create", "api.nexus.purchaseOrderReceipts.list"]
* @commonPatterns ["List all receiving documents", "Get receiving history", "Find receipts by PO number"]
* @param params Optional filtering and pagination parameters
* @returns Array of receiving documents
* @throws ValidationError When parameters are invalid or response is malformed
* @example
* ```typescript
* const receivings = await client.receivings.list({ limit: 50, poNo: 12345, statusCd: 704 });
* receivings.data.forEach(receiving => {
* console.log(`Receiving ${receiving.receivingUid}: PO ${receiving.poNo}`);
* });
* ```
*/
list: (params?: {
edgeCache?: 3 | 2 | 4 | 1 | "1" | 5 | 8 | "2" | "3" | "4" | "5" | "8" | undefined;
limit?: number | undefined;
offset?: number | undefined;
statusCd?: number | undefined;
poNo?: number | undefined;
} | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
}[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Retrieve details for a specific receiving document
* @description Returns complete details for a receiving document including JSON data and properties
* @fullPath api.nexus.receivings.get
* @service nexus
* @domain warehouse-management
* @dataMethod getData
* @discoverable true
* @searchTerms ["get receiving", "receiving details", "receiving by id", "receipt details"]
* @relatedEndpoints ["api.nexus.receivings.list", "api.nexus.receivings.update", "api.nexus.purchaseOrderReceipts.get"]
* @commonPatterns ["Get receiving details by ID", "View specific receipt", "Retrieve receiving information"]
* @param receivingUid Receiving unique identifier
* @returns Complete receiving document details
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const receiving = await client.receivings.get(54321);
* console.log('Receiving details:', receiving.data.jsonData);
* console.log('PO Number:', receiving.data.poNo);
* ```
*/
get: (id: string | number, params?: import("../../core/base-client").CacheParams | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Create a new receiving document
* @description Creates a receiving document for purchase order receipt processing
* @fullPath api.nexus.receivings.create
* @service nexus
* @domain warehouse-management
* @dataMethod createData
* @discoverable true
* @searchTerms ["create receiving", "new receipt", "receive inventory", "PO receipt", "inbound processing"]
* @relatedEndpoints ["api.nexus.receivings.list", "api.nexus.receivings.get", "api.nexus.purchaseOrderReceipts.create"]
* @commonPatterns ["Create new receiving document", "Process PO receipt", "Start receiving process"]
* @param receivingData Complete receiving data including PO number and optional details
* @returns Created receiving document details
* @throws ValidationError When request is invalid or response is malformed
* @example
* ```typescript
* const receiving = await client.receivings.create({
* poNo: 12345.0,
* referenceNo: 'REF002',
* requestId: 'req_recv_002',
* jsonData: JSON.stringify({ items: [{ itemId: 'ITEM001', quantity: 100 }] }),
* properties: JSON.stringify({ supplier: 'ACME Corp', expectedDate: '2024-01-02' })
* });
* ```
*/
create: (data: {
poNo: number;
requestId?: string | undefined;
properties?: string | undefined;
jsonData?: string | undefined;
referenceNo?: string | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Update an existing receiving document
* @description Updates receiving status, process codes, messages, and tracking information
* @fullPath api.nexus.receivings.update
* @service nexus
* @domain warehouse-management
* @dataMethod updateData
* @discoverable true
* @searchTerms ["update receiving", "modify receiving", "change receiving status", "update receipt", "receiving modification"]
* @relatedEndpoints ["api.nexus.receivings.get", "api.nexus.receivings.list", "api.nexus.receivings.delete"]
* @commonPatterns ["Update receiving status", "Modify receiving details", "Change receiving properties"]
* @workflow ["receiving-processing", "status-updates", "receipt-management"]
* @prerequisites ["Valid receiving ID", "Update permissions", "Proper status transitions"]
* @nextSteps ["api.nexus.receivings.get for verification", "Related processing workflows"]
* @businessRules ["Status changes must follow valid transitions", "Updates create audit trail entries", "Some fields may be immutable"]
* @functionalArea "warehouse-management"
* @param receivingUid Receiving unique identifier
* @param updateData Fields to update on the receiving document
* @returns Updated receiving details
* @throws ValidationError When request is invalid or response is malformed
* @example
* ```typescript
* const updated = await client.receivings.update(54322, {
* statusCd: 705,
* processCd: 705,
* processMessage: 'Processing receipt',
* jsonData: JSON.stringify({ status: 'in_progress' })
* });
* ```
*/
update: (id: string | number, data: {
statusCd?: number | undefined;
processCd?: number | undefined;
jsonData?: string | undefined;
processMessage?: string | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Soft delete a receiving document
* @description Marks a receiving document as deleted by setting status code to 700
* @fullPath api.nexus.receivings.delete
* @service nexus
* @domain warehouse-management
* @dataMethod deleteData
* @discoverable true
* @searchTerms ["delete receiving", "remove receiving", "cancel receiving", "soft delete receipt"]
* @relatedEndpoints ["api.nexus.receivings.get", "api.nexus.receivings.list", "api.nexus.receivings.update"]
* @commonPatterns ["Delete receiving document", "Cancel receiving", "Remove receiving record"]
* @workflow ["receiving-cancellation", "cleanup-processes", "audit-trail-maintenance"]
* @prerequisites ["Valid receiving ID", "Delete permissions", "Receiving must be in deletable state"]
* @nextSteps ["Cleanup related documents if needed", "Update related processes"]
* @businessRules ["Soft delete preserves audit trail", "Status set to 700", "Related documents may need attention"]
* @functionalArea "warehouse-management"
* @param receivingUid Receiving unique identifier
* @returns Deleted receiving details with updated status
* @throws ValidationError When response is malformed
* @example
* ```typescript
* const deleted = await client.receivings.delete(54322);
* console.log('Receiving deleted, status:', deleted.data.statusCd); // Should be 700
* ```
*/
delete: (id: string | number) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Retrieve a list of receiving documents with optional filtering (data only)
* @description Returns only the data array from receiving documents response
* @param params Optional filtering and pagination parameters
* @returns Array of receiving documents (data only)
* @throws ValidationError When parameters are invalid or response is malformed
*/
listData: (params?: ReceivingListParams) => Promise<{
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
}[]>;
/**
* Retrieve details for a specific receiving document (data only)
* @description Returns only the data from receiving document details response
* @param receivingUid Receiving unique identifier
* @returns Receiving document details (data only)
* @throws ValidationError When response is malformed
*/
getData: (receivingUid: number | string) => Promise<{
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
}>;
/**
* Create a new receiving document (data only)
* @description Returns only the data from created receiving document response
* @param receivingData Complete receiving data including PO number and optional details
* @returns Created receiving document details (data only)
* @throws ValidationError When request is invalid or response is malformed
*/
createData: (receivingData: ReceivingCreateRequest) => Promise<{
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
}>;
/**
* Update an existing receiving document (data only)
* @description Returns only the data from updated receiving response
* @param receivingUid Receiving unique identifier
* @param updateData Fields to update on the receiving document
* @returns Updated receiving details (data only)
* @throws ValidationError When request is invalid or response is malformed
*/
updateData: (receivingUid: number | string, updateData: ReceivingUpdateRequest) => Promise<{
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
}>;
/**
* Soft delete a receiving document (data only)
* @description Returns only the data from deleted receiving response
* @param receivingUid Receiving unique identifier
* @returns Deleted receiving details (data only)
* @throws ValidationError When response is malformed
*/
deleteData: (receivingUid: number | string) => Promise<{
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
properties: string | null;
jsonData: string | null;
importState: string;
receivingUid: number;
referenceNo: string | null;
poNo: number;
processMessage: string | null;
}>;
};
/**
* Transfer endpoints
* @description Methods for managing general transfer operations for inventory movement between locations
*/
transfers: {
/**
* Retrieve a list of transfer documents with optional filtering
* @description Returns transfer documents with pagination and filtering by reference number or status
* @fullPath api.nexus.transfers.list
* @service nexus
* @domain warehouse-management
* @dataMethod listData
* @discoverable true
* @searchTerms ["transfers", "location transfers", "inventory transfer", "warehouse transfer", "transfer documents"]
* @relatedEndpoints ["api.nexus.transfers.get", "api.nexus.transfers.create", "api.nexus.transferReceipts.list"]
* @commonPatterns ["List all transfers", "Get transfer history", "Find transfers by reference"]
* @param params Optional filtering and pagination parameters
* @returns Array of transfer documents
* @throws ValidationError When parameters are invalid or response is malformed
* @example
* ```typescript
* const transfers = await client.transfers.list({ limit: 25, referenceNo: 'TRF001' });
* transfers.data.forEach(transfer => {
* console.log(`Transfer ${transfer.transferUid}: ${transfer.referenceNo}`);
* });
* ```
*/
list: (params?: {
edgeCache?: 3 | 2 | 4 | 1 | "1" | 5 | 8 | "2" | "3" | "4" | "5" | "8" | undefined;
limit?: number | undefined;
offset?: number | undefined;
statusCd?: number | undefined;
referenceNo?: string | undefined;
} | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
requestId: string | null;
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
jsonData: string | null;
importState: string;
referenceNo: string | null;
processMessage: string | null;
transferUid: number;
}[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Retrieve details for a specific transfer document
* @description Returns complete details for a transfer document including JSON data
* @fullPath api.nexus.transfers.get
* @service nexus
* @domain warehouse-management
* @dataMethod getData
* @discoverable true
* @searchTerms ["get transfer", "transfer details", "transfer by id", "transfer d