export type JTLDataContractsKeysArtikelKey = string; export type JTLDataContractsKeysFirmaKey = string; export type JTLDataContractsKeysKundeKey = string; export type JTLDataContractsKeysRueckhaltegrundKey = string; export type JTLDataContractsKeysZahlungsartKey = string; export type JTLDataContractsKeysFarbeKey = string; export type JTLDataContractsKeysVorgangsstatusKey = string; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderAddress = {salutation?: string | undefined, title?: string | undefined, firstName?: string | undefined, lastName?: string | undefined, company?: string | undefined, additionalCompanyLine?: string | undefined, street?: string | undefined, additionalAddressLine?: string | undefined, city?: string | undefined, postalCode?: string | undefined, state?: string | undefined, countryIso?: string | undefined, postId?: string | undefined, emailAddress?: string | undefined, phoneNumber?: string | undefined, mobilePhoneNumber?: string | undefined, fax?: string | undefined, vatId?: string | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderDepartureCountry = {countryIso?: string | undefined, currencyIso?: string | undefined, currencyFactor?: number | undefined, state?: string | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedExternalSalesInvoiceType = 0 | 1 | 2; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderExternalDetails = {externalCreatedDate?: string | undefined, externalInvoiceType?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedExternalSalesInvoiceType | undefined, externalSalesOrderNumber?: string | undefined}; export type JTLDataContractsKeysVerkaufAuftragPositionKey = string; export type JTLDataContractsKeysSteuerklasseKey = string; export type JTLDataContractsKeysSteuerschluesselKey = string; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedBillOfMaterialsType = 0 | 1 | 2; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedConfigurationItemType = 0 | 1 | 2; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedLineItemType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21; export type JTLDataContractsKeysVariationKey = string; export type JTLDataContractsKeysVariationWertKey = string; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderLineItemVariant = {extraWeight?: number | undefined, name?: string | undefined, surchargeNet?: number | undefined, value?: string | undefined, itemVariantId?: JTLDataContractsKeysVariationKey | undefined, itemVariantValueId?: JTLDataContractsKeysVariationWertKey | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderLineItem = {itemId?: JTLDataContractsKeysArtikelKey | undefined, parentSalesOrderLineItemId?: JTLDataContractsKeysVerkaufAuftragPositionKey | undefined, taxClassId?: JTLDataContractsKeysSteuerklasseKey | undefined, taxCodeId?: JTLDataContractsKeysSteuerschluesselKey | undefined, billOfMaterialsType?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedBillOfMaterialsType | undefined, configurationItemType?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedConfigurationItemType | undefined, discountPercent?: number | undefined, fnSku?: string | undefined, name?: string | undefined, note?: string | undefined, purchasePriceNet?: number | undefined, quantity?: number | undefined, salesPriceNet?: number | undefined, salesUnit?: string | undefined, sku?: string | undefined, taxRate?: number | undefined, type?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedLineItemType | undefined, variants?: Array | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderPaymentDetails = {cashDiscount?: number | undefined, cashDiscountDays?: number | undefined, paymentDueDateInDays?: number | undefined, currencyIso?: string | undefined, currencyFactor?: number | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderPaymentInfo = {accountHolder?: string | undefined, bankName?: string | undefined, bIC?: string | undefined, creditorId?: string | undefined, dueDate?: string | undefined, endToEndId?: string | undefined, iBAN?: string | undefined, mandateReference?: string | undefined, paymentInfo?: string | undefined, paymentReference?: string | undefined, referenceEmail?: string | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderShippingDetails = {deliveryFromDate?: string | undefined, estimatedDeliveryDate?: string | undefined, extraWeight?: number | undefined, maxDeliveryDays?: number | undefined, shippingDate?: string | undefined, shippingPriority?: number | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedTaxReference = 0 | 1; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedSpecialTaxTreatment = 0 | 1 | 2 | 3; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedTaxSetting = 0 | 10 | 15 | 20; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderTaxDetails = {taxReference?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedTaxReference | undefined, specialTaxTreatment?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedSpecialTaxTreatment | undefined, taxSetting?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedTaxSetting | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderText = {comment?: string | undefined, customerComment?: string | undefined, printText?: string | undefined, processStatus?: string | undefined}; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedItemDescriptionType = 0 | 1 | 2; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedReadOnlyType = 0 | 1 | 2; export type JTLDataContractsKeysVersandartKey = string; export type JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateSalesOrderCommandRequest = {disableAutomaticWorkflows?: boolean | undefined, useBillingAddressAsShipmentAddress?: boolean | undefined, cartonItemId?: JTLDataContractsKeysArtikelKey | undefined, companyId?: JTLDataContractsKeysFirmaKey | undefined, customerId?: JTLDataContractsKeysKundeKey | undefined, onHoldReasonId?: JTLDataContractsKeysRueckhaltegrundKey | undefined, paymentMethodId?: JTLDataContractsKeysZahlungsartKey | undefined, processColourId?: JTLDataContractsKeysFarbeKey | undefined, processStatusId?: JTLDataContractsKeysVorgangsstatusKey | undefined, billingAddress?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderAddress | undefined, departureCountry?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderDepartureCountry | undefined, externalDetails?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderExternalDetails | undefined, lineItems?: Array | undefined, paymentDetails?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderPaymentDetails | undefined, paymentInfo?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderPaymentInfo | undefined, shipmentAddress?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderAddress | undefined, shippingDetails?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderShippingDetails | undefined, taxDetails?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderTaxDetails | undefined, text?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateCreateSalesOrderText | undefined, customerSalesOrderNumber?: string | undefined, itemDescriptionType?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedItemDescriptionType | undefined, languageIso?: string | undefined, readOnlyType?: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SharedReadOnlyType | undefined, salesOrderDate?: string | undefined, salesOrderNumber?: string | undefined, shippingMethodId?: JTLDataContractsKeysVersandartKey | undefined, vatId?: string | undefined}; export type CreateApiV2SalesorderCreateArgs = {'x-tenant-id': string, 'x-runas'?: string | undefined, 'x-companyid'?: string | undefined, body: JTLWawiVerkaufsverwaltungPublicApiDataTransferObjectsV2SalesOrderDomainCreateSalesOrderCommandRequest}; export type CreateApiV2SalesorderCreateOptions = {baseUrl?: string | undefined, oauth2AuthorizationCode?: string | undefined, fetch?: typeof fetch | undefined}; /** * Creates a new sales order. * * POST /v2/salesorder/create * * Also accepts auth: oauth2-client-credentials */ export const createApiV2SalesorderCreate = async (args: CreateApiV2SalesorderCreateArgs, options?: CreateApiV2SalesorderCreateOptions) => { const {baseUrl = "https://scx-sbx.api.jtl-software.com", fetch: fetchFn = fetch, oauth2AuthorizationCode} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args['x-tenant-id'] != null) headers.set("x-tenant-id", String(args['x-tenant-id'])) if (args['x-runas'] != null) headers.set("x-runas", String(args['x-runas'])) if (args['x-companyid'] != null) headers.set("x-companyid", String(args['x-companyid'])) if (oauth2AuthorizationCode !== undefined) headers.set('authorization', `Bearer ${oauth2AuthorizationCode}`) const url = `${baseUrl.replace(/\/+$/, '')}/v2/salesorder/create${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return (await res.json()) as unknown };