scanningstationep

package
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BulkUpsertScanningStationsEndpoint

type BulkUpsertScanningStationsEndpoint struct{}

Creates or updates multiple scanning stations for the account, matched by name (case-insensitive). Validates and resolves synchronously, then writes asynchronously — 202 with a job to poll.

func (*BulkUpsertScanningStationsEndpoint) Materialize

type BulkUpsertScanningStationsRequest

type BulkUpsertScanningStationsRequest struct {
	// Scanning stations to create or update, matched by name (case-insensitive) within
	// the account.
	ScanningStations []UpsertScanningStationInput `json:"scanning_stations" validate:"required,min=1,max=1000,dive"`
}

Request to bulk upsert scanning stations.

func (*BulkUpsertScanningStationsRequest) SchemaExample

func (*BulkUpsertScanningStationsRequest) SchemaExample() any

type ConnectProductionStepsEndpoint

type ConnectProductionStepsEndpoint struct{}

Connects production steps to a scanning station by name.

Every production step in your account whose name contains the provided value is connected. A production step can be connected to at most one scanning station, so matching steps are moved off any station they were previously connected to. Steps already connected to this station that do not match are left connected, so this adds to the station's steps rather than replacing them.

Nothing about the station is returned, so retrieve the scanning station afterward to confirm which steps are now connected.

type ConnectProductionStepsRequest

type ConnectProductionStepsRequest struct {
	// Scanning station ID.
	ScanningStationID string `path:"id" validate:"required"`
	// Full or partial production step name to match.
	//
	// Matching is a case-insensitive substring match, so a broad value such as a single letter can capture far more steps than intended.
	Name string `json:"name" validate:"required"`
}

Request to connect production steps to a scanning station.

func (*ConnectProductionStepsRequest) SchemaExample

func (*ConnectProductionStepsRequest) SchemaExample() any

type CreateScanningStationEndpoint

type CreateScanningStationEndpoint struct{}

Creates a scanning station and assigns it to a department.

The new station has no production steps connected to it; use Connect Production Steps to Scanning Station to attach them.

Returns a conflict error if a scanning station with the same name already exists, and a not-found error if the department does not exist in your account.

type CreateScanningStationRequest

type CreateScanningStationRequest struct {
	// Display name of the scanning station.
	//
	// Must be unique within your account; maximum 255 characters.
	Name string `json:"name" validate:"required,max=255"`
	// Free-form notes about the scanning station.
	Notes field.Optional[string] `json:"notes,omitzero"`
	// Scanning station type, determining which batch operation an operator performs when they scan here.
	//
	// - `init_batch`: starts a new batch at the beginning of a production flow.
	// - `merge_batch`: combines several scanned batches into one.
	// - `move_batch`: advances a batch through a production step connected to this station.
	// - `split_batch`: divides a batch into several batches.
	//
	// The type cannot be changed after creation.
	Type constants.ScanningStationType `json:"type" validate:"required"`
	// Whether operators must perform a material check at this station.
	//
	// - `none`: no additional operator check is required.
	// - `material_check`: a material check is expected before the operation.
	OperatorRequirement constants.OperatorRequirement `json:"operator_requirement" validate:"required"`
	// ID of the department this station belongs to.
	//
	// Must be a department in your account, and cannot be changed after creation.
	DepartmentID string `json:"department_id" validate:"required"`
	// Size of the labels printed at this station, given as width-by-height (for example, `1x1`).
	LabelSizeCode field.Optional[constants.LabelSizeCode] `json:"label_size,omitzero"`
	// Type of label printed at this station.
	//
	// - `tag`: a label attached to the physical product.
	// - `traveler`: a routing sheet that accompanies the batch through every production step.
	LabelTypeCode field.Optional[constants.LabelTypeCode] `json:"label_type,omitzero"`
}

Request to create a scanning station.

func (*CreateScanningStationRequest) SchemaExample

func (*CreateScanningStationRequest) SchemaExample() any

type DeleteScanningStationEndpoint

type DeleteScanningStationEndpoint struct{}

Deletes a scanning station.

Production steps connected to the station are not deleted, but they are left without a station to scan at until you connect them to another one. Deleting a station that was already deleted returns an already-deleted error rather than a not-found error.

type DeleteScanningStationRequest

type DeleteScanningStationRequest struct {
	// Scanning station ID.
	ScanningStationID string `path:"id" validate:"required"`
}

Request to delete a scanning station.

type ExportScanningStationsEndpoint

type ExportScanningStationsEndpoint struct{}

Starts an export of every matching scanning station and returns the job that tracks it.

func (*ExportScanningStationsEndpoint) Materialize

type ExportScanningStationsRequest

type ExportScanningStationsRequest struct {
	// Free-text search term matched against scanning station names.
	Query *string `json:"q"`
}

Filters which scanning stations land in the exported file.

func (*ExportScanningStationsRequest) SchemaExample

func (*ExportScanningStationsRequest) SchemaExample() any

type ListScanningStationsEndpoint

type ListScanningStationsEndpoint struct{}

Returns a paginated list of scanning stations in your account.

The `q` search term matches the station name.

type ListScanningStationsRequest

type ListScanningStationsRequest struct {
	apiresource.PaginationRequest
}

Request to list scanning stations.

type RetrieveScanningStationEndpoint

type RetrieveScanningStationEndpoint struct{}

Returns a scanning station by ID.

type RetrieveScanningStationRequest

type RetrieveScanningStationRequest struct {
	// Scanning station ID.
	ScanningStationID string `path:"id" validate:"required"`
}

Request to retrieve a scanning station.

type ScanningStationSvcConfig

type ScanningStationSvcConfig struct {
	// CoreClient (required) is the core-service gRPC client.
	CoreClient pb.CoreServiceClient
}

type UpdateScanningStationEndpoint

type UpdateScanningStationEndpoint struct{}

Partially updates a scanning station.

Only the fields provided in the request are changed. Returns a conflict error if the new name is already in use by another scanning station.

type UpdateScanningStationRequest

type UpdateScanningStationRequest struct {
	// Scanning station ID.
	ScanningStationID string `path:"id" validate:"required"`
	// Display name of the scanning station.
	//
	// Must be unique within your account; maximum 255 characters.
	Name field.Optional[string] `json:"name,omitzero" validate:"omitempty,max=255"`
	// Free-form notes about the scanning station.
	//
	// Send `null` to clear.
	Notes field.Clearable[string] `json:"notes,omitzero"`
	// Size of the labels printed at this station, given as width-by-height (for example, `1x1`).
	//
	// Send `null` or an empty string to clear.
	LabelSizeCode field.Clearable[constants.LabelSizeCode] `json:"label_size,omitzero"`
	// Type of label printed at this station.
	//
	// - `tag`: a label attached to the physical product.
	// - `traveler`: a routing sheet that accompanies the batch through every production step.
	//
	// Send `null` or an empty string to clear.
	LabelTypeCode field.Clearable[constants.LabelTypeCode] `json:"label_type,omitzero"`
	// Whether operators must perform a material check at this station.
	//
	// - `none`: no additional operator check is required.
	// - `material_check`: a material check is expected before the operation.
	OperatorRequirement field.Optional[constants.OperatorRequirement] `json:"operator_requirement,omitzero"`
}

Request to partially update a scanning station.

The station's type and department are set at creation and cannot be changed here.

func (*UpdateScanningStationRequest) SchemaExample

func (*UpdateScanningStationRequest) SchemaExample() any

type UpsertScanningStationInput

type UpsertScanningStationInput struct {
	// Display name of the scanning station. Rows are matched against existing stations
	// by name (case-insensitive): a match updates that station, no match creates a new
	// one.
	Name string `json:"name" validate:"required,max=255"`
	// Free-form notes about the scanning station. Preserved when omitted on update.
	Notes field.Optional[string] `json:"notes,omitzero"`
	// Scanning station type, determining which batch operation the station performs.
	//
	// - `init_batch`: initializes a new batch.
	// - `merge_batch`: merges multiple batches into one.
	// - `move_batch`: moves a batch to another location or step.
	// - `split_batch`: splits a batch into multiple batches.
	//
	// The type cannot be changed after creation — rows updating an existing station
	// must state that station's current type.
	Type constants.ScanningStationType `json:"type" validate:"required"`
	// Whether operators must perform a material check at this station.
	//
	// - `none`: no additional operator check is required.
	// - `material_check`: a material check is expected before the operation.
	OperatorRequirement constants.OperatorRequirement `json:"operator_requirement" validate:"required"`
	// Size of the labels printed at this station, given as width-by-height (for
	// example, `1x1`). Preserved when omitted on update; send `null` or an empty
	// string to clear.
	LabelSizeCode field.Clearable[constants.LabelSizeCode] `json:"label_size,omitzero"`
	// Type of label printed at this station. Preserved when omitted on update; send
	// `null` or an empty string to clear.
	//
	// - `tag`: a label attached to the physical product.
	// - `traveler`: a routing sheet that accompanies the batch through every production step.
	LabelTypeCode field.Clearable[constants.LabelTypeCode] `json:"label_type,omitzero"`
	// Department this station belongs to, referenced by `id` or `name`. Create-only: a row
	// updating an existing station must state that station's current department.
	Department apirequest.ObjectIdentifier `json:"department" validate:"required"`
}

Input for a single scanning station in a bulk upsert operation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL