Mission Control

This is the Javascript SDK for Zaikio Mission Control.

Maturity

The Zaikio Mission Control API is currently in beta status. We do not expect drastic changes to the structure and nature of the API however we still might make large changes based on partner feedback. If you do have feedback, please contact your Partner Manager to discuss how Mission Control can become more suitable for your use case.

The Zaikio Mission Control JS SDK is currently in alpha status. We will look to support use cases, bugs and usability issues, but do not offer an SLA on fixes until this reaches maturity. Contact details for our support services can be found at our developer site: docs.zaikio.com.

Current areas we are improving.

  • Naming of operations within this SDK
  • More specific documentation, both in this repo and at docs.zaikio.com

Installation

npm install zaikio/zaikio-mission-control-js-sdk --save

Getting Started

Please follow the installation instruction and execute the following JS code:

var MissionControl = require("mission_control");
var defaultClient = MissionControl.ApiClient.instance;

defaultClient.basePath = "https://mc.sandbox.zaikio.com/api/v1";
defaultClient.authentications.bearerAuth = {
  type: "oauth2",
  accessToken: process.env.ACCESS_TOKEN,
};

var api = new MissionControl.BusinessApi(defaultClient);
var estimateId = "38400000-8cf0-11bd-b23e-10b96e4ef00d"; // {String}

api
  .estimatesEstimateIdGet(estimateId)
  .then((data) => {
    console.log("API called successfully");
    console.log(data);
  })
  .catch((err) => console.error(err));

Environments

The JS SDK defaults to our live environment. To test or use the Mission Control Sandbox, please ensure to change the baseUrl of the client to point to the Sandbox. This can be done in the following manner, and is shown in the simple example above.

var MissionControl = require("mission_control");
var defaultClient = MissionControl.ApiClient.instance;

defaultClient.basePath = "https://mc.sandbox.zaikio.com/api/v1";

Authorization

Providing an oAuth Access Token (Available from Zaikio Hub live or sandbox) will allow the JS SDK to authenticate with Mission Control's API.

This can be provided to the default client and will be automatically included in requests for you.

var MissionControl = require("mission_control");
var defaultClient = MissionControl.ApiClient.instance;

defaultClient.authentications.bearerAuth = {
  type: "oauth2",
  accessToken: process.env.ACCESS_TOKEN,
};

We would always suggest following good development practices regarding credential storage.

Further examples

There is a very simple example application included in the example/ folder, which can be used as inspiration for how you might access the Mission Control API to enable functionality within an application. This one simply pulls in some order details from Mission Control, and then loads the latest data on any associated Jobs, but it could easily be adapted for much more complicated scenarios.

To use the application, simply clone this repository, enter the example/ folder and run the following commands

npm ci
ACCESS_TOKEN=MY_SUPER_SECURE_MISSION_CONTROL_OAUTH_TOKEN npm start

This will make the app available to you on http://127.0.0.1:3000 - and you can use the search box to load in an Order from the Mission Control sandbox.

Available OAuth Scopes

  • mission_control.commissionings.r [Commissioning]: Read information of all commissionings
  • mission_control.commissionings.w [Commissioning]: Create or update commissioning related models
  • mission_control.estimates.r [Estimate]: Read information of all Estimates
  • mission_control.estimates.w [Estimate]: Create or update all kinds of Estimates
  • mission_control.lists.r [List]: Read information of all List objects
  • mission_control.lists.w [List]: Create or update List objects
  • mission_control.orders.r [Order]: Read information of all orders
  • mission_control.orders.w [Order]: Create or update new orders
  • mission_control.jobs.r [Job]: Read basic information of all jobs currently or formerly in production
  • mission_control.jobs.w [Job]: Create or update new jobs

Documentation for API Endpoints

All URIs are relative to https://mc.zaikio.com/api/v1/

Class Method HTTP request Description
MissionControl.BusinessApi estimatesEstimateIdDelete DELETE /estimates/{estimate_id}
MissionControl.BusinessApi estimatesEstimateIdGet GET /estimates/{estimate_id}
MissionControl.BusinessApi estimatesEstimateIdPatch PATCH /estimates/{estimate_id}
MissionControl.BusinessApi estimatesEstimateIdWorkstepEstimatesGet GET /estimates/{estimate_id}/workstep_estimates
MissionControl.BusinessApi estimatesEstimateIdWorkstepEstimatesPost POST /estimates/{estimate_id}/workstep_estimates
MissionControl.BusinessApi jobsJobIdEstimatesGet GET /jobs/{job_id}/estimates
MissionControl.BusinessApi jobsJobIdEstimatesPost POST /jobs/{job_id}/estimates
MissionControl.BusinessApi materialEstimatesMaterialEstimateIdDelete DELETE /material_estimates/{material_estimate_id}
MissionControl.BusinessApi materialEstimatesMaterialEstimateIdGet GET /material_estimates/{material_estimate_id}
MissionControl.BusinessApi materialEstimatesMaterialEstimateIdPatch PATCH /material_estimates/{material_estimate_id}
MissionControl.BusinessApi workstepEstimatesWorkstepEstimateIdDelete DELETE /workstep_estimates/{workstep_estimate_id}
MissionControl.BusinessApi workstepEstimatesWorkstepEstimateIdGet GET /workstep_estimates/{workstep_estimate_id}
MissionControl.BusinessApi workstepEstimatesWorkstepEstimateIdMaterialEstimatesGet GET /workstep_estimates/{workstep_estimate_id}/material_estimates
MissionControl.BusinessApi workstepEstimatesWorkstepEstimateIdMaterialEstimatesPost POST /workstep_estimates/{workstep_estimate_id}/material_estimates
MissionControl.BusinessApi workstepEstimatesWorkstepEstimateIdPatch PATCH /workstep_estimates/{workstep_estimate_id}
MissionControl.CommercialApi orderLineItemsOrderLineItemIdDelete DELETE /order_line_items/{order_line_item_id}
MissionControl.CommercialApi orderLineItemsOrderLineItemIdGet GET /order_line_items/{order_line_item_id}
MissionControl.CommercialApi orderLineItemsOrderLineItemIdPatch PATCH /order_line_items/{order_line_item_id}
MissionControl.CommercialApi ordersGet GET /orders
MissionControl.CommercialApi ordersOrderIdAddressDelete DELETE /orders/{order_id}/address
MissionControl.CommercialApi ordersOrderIdAddressGet GET /orders/{order_id}/address
MissionControl.CommercialApi ordersOrderIdAddressPatch PATCH /orders/{order_id}/address
MissionControl.CommercialApi ordersOrderIdAddressPost POST /orders/{order_id}/address
MissionControl.CommercialApi ordersOrderIdDelete DELETE /orders/{order_id}
MissionControl.CommercialApi ordersOrderIdGet GET /orders/{order_id}
MissionControl.CommercialApi ordersOrderIdOrderLineItemsGet GET /orders/{order_id}/order_line_items
MissionControl.CommercialApi ordersOrderIdOrderLineItemsPost POST /orders/{order_id}/order_line_items
MissionControl.CommercialApi ordersOrderIdPatch PATCH /orders/{order_id}
MissionControl.CommercialApi ordersOrderIdPaymentTermsDelete DELETE /orders/{order_id}/payment_terms
MissionControl.CommercialApi ordersOrderIdPaymentTermsGet GET /orders/{order_id}/payment_terms
MissionControl.CommercialApi ordersOrderIdPaymentTermsPatch PATCH /orders/{order_id}/payment_terms
MissionControl.CommercialApi ordersOrderIdPaymentTermsPost POST /orders/{order_id}/payment_terms
MissionControl.CommercialApi ordersPost POST /orders
MissionControl.LogisticsApi commissioningsCommissioningIdDelete DELETE /commissionings/{commissioning_id}
MissionControl.LogisticsApi commissioningsCommissioningIdGet GET /commissionings/{commissioning_id}
MissionControl.LogisticsApi commissioningsCommissioningIdPatch PATCH /commissionings/{commissioning_id}
MissionControl.LogisticsApi commissioningsCommissioningIdPickupsGet GET /commissionings/{commissioning_id}/pickups
MissionControl.LogisticsApi commissioningsCommissioningIdPickupsPost POST /commissionings/{commissioning_id}/pickups
MissionControl.LogisticsApi commissioningsCommissioningIdShipmentsGet GET /commissionings/{commissioning_id}/shipments
MissionControl.LogisticsApi commissioningsCommissioningIdShipmentsPost POST /commissionings/{commissioning_id}/shipments
MissionControl.LogisticsApi commissioningsGet GET /commissionings
MissionControl.LogisticsApi commissioningsPost POST /commissionings
MissionControl.LogisticsApi pickupsPickupIdDelete DELETE /pickups/{pickup_id}
MissionControl.LogisticsApi pickupsPickupIdGet GET /pickups/{pickup_id}
MissionControl.LogisticsApi pickupsPickupIdPatch PATCH /pickups/{pickup_id}
MissionControl.LogisticsApi shipmentsShipmentIdAddressDelete DELETE /shipments/{shipment_id}/address
MissionControl.LogisticsApi shipmentsShipmentIdAddressGet GET /shipments/{shipment_id}/address
MissionControl.LogisticsApi shipmentsShipmentIdAddressPatch PATCH /shipments/{shipment_id}/address
MissionControl.LogisticsApi shipmentsShipmentIdAddressPost POST /shipments/{shipment_id}/address
MissionControl.LogisticsApi shipmentsShipmentIdDelete DELETE /shipments/{shipment_id}
MissionControl.LogisticsApi shipmentsShipmentIdGet GET /shipments/{shipment_id}
MissionControl.LogisticsApi shipmentsShipmentIdPatch PATCH /shipments/{shipment_id}
MissionControl.ProductionApi batchesBatchIdDelete DELETE /batches/{batch_id}
MissionControl.ProductionApi batchesBatchIdGet GET /batches/{batch_id}
MissionControl.ProductionApi batchesBatchIdPatch PATCH /batches/{batch_id}
MissionControl.ProductionApi batchesGet GET /batches
MissionControl.ProductionApi batchesPost POST /batches
MissionControl.ProductionApi executionsExecutionIdDelete DELETE /executions/{execution_id}
MissionControl.ProductionApi executionsExecutionIdGet GET /executions/{execution_id}
MissionControl.ProductionApi executionsExecutionIdPatch PATCH /executions/{execution_id}
MissionControl.ProductionApi executionsGet GET /executions
MissionControl.ProductionApi executionsPost POST /executions
MissionControl.ProductionApi imposingsImposingIdDelete DELETE /imposings/{imposing_id}
MissionControl.ProductionApi imposingsImposingIdGet GET /imposings/{imposing_id}
MissionControl.ProductionApi imposingsImposingIdPatch PATCH /imposings/{imposing_id}
MissionControl.ProductionApi imposingsImposingIdSignaturesGet GET /imposings/{imposing_id}/signatures
MissionControl.ProductionApi imposingsImposingIdSignaturesPost POST /imposings/{imposing_id}/signatures
MissionControl.ProductionApi intermediateProductsIntermediateProductIdDelete DELETE /intermediate_products/{intermediate_product_id}
MissionControl.ProductionApi intermediateProductsIntermediateProductIdGet GET /intermediate_products/{intermediate_product_id}
MissionControl.ProductionApi intermediateProductsIntermediateProductIdPatch PATCH /intermediate_products/{intermediate_product_id}
MissionControl.ProductionApi jobsJobIdFinishedProductDelete DELETE /jobs/{job_id}/finished_product
MissionControl.ProductionApi jobsJobIdFinishedProductGet GET /jobs/{job_id}/finished_product
MissionControl.ProductionApi jobsJobIdFinishedProductPatch PATCH /jobs/{job_id}/finished_product
MissionControl.ProductionApi jobsJobIdFinishedProductPost POST /jobs/{job_id}/finished_product
MissionControl.ProductionApi jobsJobIdIntermediateProductsGet GET /jobs/{job_id}/intermediate_products
MissionControl.ProductionApi jobsJobIdIntermediateProductsPost POST /jobs/{job_id}/intermediate_products
MissionControl.ProductionApi jobsJobIdMilestonesGet GET /jobs/{job_id}/milestones
MissionControl.ProductionApi jobsJobIdMilestonesPost POST /jobs/{job_id}/milestones
MissionControl.ProductionApi jobsJobIdProductionStrategiesGet GET /jobs/{job_id}/production_strategies
MissionControl.ProductionApi jobsJobIdProductionStrategiesPost POST /jobs/{job_id}/production_strategies
MissionControl.ProductionApi jobsJobIdTodosGet GET /jobs/{job_id}/todos
MissionControl.ProductionApi jobsJobIdTodosPost POST /jobs/{job_id}/todos
MissionControl.ProductionApi listsGet GET /lists
MissionControl.ProductionApi listsListIdDelete DELETE /lists/{list_id}
MissionControl.ProductionApi listsListIdGet GET /lists/{list_id}
MissionControl.ProductionApi listsListIdPatch PATCH /lists/{list_id}
MissionControl.ProductionApi listsListIdPredicatesGet GET /lists/{list_id}/predicates
MissionControl.ProductionApi listsListIdPredicatesPost POST /lists/{list_id}/predicates
MissionControl.ProductionApi listsPost POST /lists
MissionControl.ProductionApi milestonesMilestoneIdDelete DELETE /milestones/{milestone_id}
MissionControl.ProductionApi milestonesMilestoneIdGet GET /milestones/{milestone_id}
MissionControl.ProductionApi milestonesMilestoneIdPatch PATCH /milestones/{milestone_id}
MissionControl.ProductionApi predicatesPredicateIdDelete DELETE /predicates/{predicate_id}
MissionControl.ProductionApi predicatesPredicateIdGet GET /predicates/{predicate_id}
MissionControl.ProductionApi predicatesPredicateIdPatch PATCH /predicates/{predicate_id}
MissionControl.ProductionApi predicatesPredicateIdRulesGet GET /predicates/{predicate_id}/rules
MissionControl.ProductionApi predicatesPredicateIdRulesPost POST /predicates/{predicate_id}/rules
MissionControl.ProductionApi productionPathsPost POST /production_paths
MissionControl.ProductionApi productionStrategiesProductionStrategyIdDelete DELETE /production_strategies/{production_strategy_id}
MissionControl.ProductionApi productionStrategiesProductionStrategyIdGet GET /production_strategies/{production_strategy_id}
MissionControl.ProductionApi productionStrategiesProductionStrategyIdImposingsGet GET /production_strategies/{production_strategy_id}/imposings
MissionControl.ProductionApi productionStrategiesProductionStrategyIdImposingsPost POST /production_strategies/{production_strategy_id}/imposings
MissionControl.ProductionApi productionStrategiesProductionStrategyIdPatch PATCH /production_strategies/{production_strategy_id}
MissionControl.ProductionApi rulesRuleIdDelete DELETE /rules/{rule_id}
MissionControl.ProductionApi rulesRuleIdGet GET /rules/{rule_id}
MissionControl.ProductionApi rulesRuleIdPatch PATCH /rules/{rule_id}
MissionControl.ProductionApi signaturesSignatureIdDelete DELETE /signatures/{signature_id}
MissionControl.ProductionApi signaturesSignatureIdGet GET /signatures/{signature_id}
MissionControl.ProductionApi signaturesSignatureIdPatch PATCH /signatures/{signature_id}
MissionControl.ProductionApi todosTodoIdDelete DELETE /todos/{todo_id}
MissionControl.ProductionApi todosTodoIdGet GET /todos/{todo_id}
MissionControl.ProductionApi todosTodoIdPatch PATCH /todos/{todo_id}
MissionControl.ProductionApi workstepGroupsGet GET /workstep_groups
MissionControl.ProductionApi workstepGroupsPost POST /workstep_groups
MissionControl.ProductionApi workstepGroupsWorkstepGroupIdDelete DELETE /workstep_groups/{workstep_group_id}
MissionControl.ProductionApi workstepGroupsWorkstepGroupIdGet GET /workstep_groups/{workstep_group_id}
MissionControl.ProductionApi workstepGroupsWorkstepGroupIdPatch PATCH /workstep_groups/{workstep_group_id}
MissionControl.ProductionApi workstepsGet GET /worksteps
MissionControl.ProductionApi workstepsPost POST /worksteps
MissionControl.ProductionApi workstepsWorkstepIdDelete DELETE /worksteps/{workstep_id}
MissionControl.ProductionApi workstepsWorkstepIdGet GET /worksteps/{workstep_id}
MissionControl.ProductionApi workstepsWorkstepIdPatch PATCH /worksteps/{workstep_id}
MissionControl.ProdutionApi listsListIdMembersGet GET /lists/{list_id}/members
MissionControl.SpecificationApi fileActionsFileActionIdDelete DELETE /file_actions/{file_action_id}
MissionControl.SpecificationApi fileActionsFileActionIdFileRemarksGet GET /file_actions/{file_action_id}/file_remarks
MissionControl.SpecificationApi fileActionsFileActionIdFileRemarksPost POST /file_actions/{file_action_id}/file_remarks
MissionControl.SpecificationApi fileActionsFileActionIdGet GET /file_actions/{file_action_id}
MissionControl.SpecificationApi fileActionsFileActionIdPatch PATCH /file_actions/{file_action_id}
MissionControl.SpecificationApi fileReferencesFileReferenceIdDelete DELETE /file_references/{file_reference_id}
MissionControl.SpecificationApi fileReferencesFileReferenceIdFileActionsGet GET /file_references/{file_reference_id}/file_actions
MissionControl.SpecificationApi fileReferencesFileReferenceIdFileActionsPost POST /file_references/{file_reference_id}/file_actions
MissionControl.SpecificationApi fileReferencesFileReferenceIdGet GET /file_references/{file_reference_id}
MissionControl.SpecificationApi finishingsFinishingIdDelete DELETE /finishings/{finishing_id}
MissionControl.SpecificationApi finishingsFinishingIdFileReferencesGet GET /finishings/{finishing_id}/file_references
MissionControl.SpecificationApi finishingsFinishingIdFileReferencesPost POST /finishings/{finishing_id}/file_references
MissionControl.SpecificationApi finishingsFinishingIdFinishingApplicationsFinishingApplicationIdDelete DELETE /finishings/{finishing_id}/finishing_applications/{finishing_application_id}
MissionControl.SpecificationApi finishingsFinishingIdFinishingApplicationsFinishingApplicationIdGet GET /finishings/{finishing_id}/finishing_applications/{finishing_application_id}
MissionControl.SpecificationApi finishingsFinishingIdFinishingApplicationsGet GET /finishings/{finishing_id}/finishing_applications
MissionControl.SpecificationApi finishingsFinishingIdFinishingApplicationsPost POST /finishings/{finishing_id}/finishing_applications
MissionControl.SpecificationApi finishingsFinishingIdGet GET /finishings/{finishing_id}
MissionControl.SpecificationApi finishingsFinishingIdPatch PATCH /finishings/{finishing_id}
MissionControl.SpecificationApi jobsGet GET /jobs
MissionControl.SpecificationApi jobsJobIdDelete DELETE /jobs/{job_id}
MissionControl.SpecificationApi jobsJobIdGet GET /jobs/{job_id}
MissionControl.SpecificationApi jobsJobIdPackagingsGet GET /jobs/{job_id}/packagings
MissionControl.SpecificationApi jobsJobIdPackagingsPost POST /jobs/{job_id}/packagings
MissionControl.SpecificationApi jobsJobIdPartsGet GET /jobs/{job_id}/parts
MissionControl.SpecificationApi jobsJobIdPartsPost POST /jobs/{job_id}/parts
MissionControl.SpecificationApi jobsJobIdPatch PATCH /jobs/{job_id}
MissionControl.SpecificationApi jobsPost POST /jobs
MissionControl.SpecificationApi packagingsPackagingIdDelete DELETE /packagings/{packaging_id}
MissionControl.SpecificationApi packagingsPackagingIdGet GET /packagings/{packaging_id}
MissionControl.SpecificationApi packagingsPackagingIdPatch PATCH /packagings/{packaging_id}
MissionControl.SpecificationApi partsPartIdColorsColorIdDelete DELETE /parts/{part_id}/colors/{color_id}
MissionControl.SpecificationApi partsPartIdColorsColorIdGet GET /parts/{part_id}/colors/{color_id}
MissionControl.SpecificationApi partsPartIdColorsColorIdPatch PATCH /parts/{part_id}/colors/{color_id}
MissionControl.SpecificationApi partsPartIdColorsGet GET /parts/{part_id}/colors
MissionControl.SpecificationApi partsPartIdColorsPost POST /parts/{part_id}/colors
MissionControl.SpecificationApi partsPartIdDelete DELETE /parts/{part_id}
MissionControl.SpecificationApi partsPartIdDesiredSubstrateDelete DELETE /parts/{part_id}/desired_substrate
MissionControl.SpecificationApi partsPartIdDesiredSubstrateGet GET /parts/{part_id}/desired_substrate
MissionControl.SpecificationApi partsPartIdDesiredSubstratePatch PATCH /parts/{part_id}/desired_substrate
MissionControl.SpecificationApi partsPartIdDesiredSubstratePost POST /parts/{part_id}/desired_substrate
MissionControl.SpecificationApi partsPartIdFileReferencesGet GET /parts/{part_id}/file_references
MissionControl.SpecificationApi partsPartIdFileReferencesPost POST /parts/{part_id}/file_references
MissionControl.SpecificationApi partsPartIdFinishingsGet GET /parts/{part_id}/finishings
MissionControl.SpecificationApi partsPartIdFinishingsPost POST /parts/{part_id}/finishings
MissionControl.SpecificationApi partsPartIdGet GET /parts/{part_id}
MissionControl.SpecificationApi partsPartIdPatch PATCH /parts/{part_id}

Documentation for Models