putProcurementPortalPreference

Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval.

Samples

import aws.sdk.kotlin.services.invoicing.model.BuyerDomain
import aws.sdk.kotlin.services.invoicing.model.ConnectionTestingMethod
import aws.sdk.kotlin.services.invoicing.model.Contact
import aws.sdk.kotlin.services.invoicing.model.EinvoiceDeliveryAttachmentType
import aws.sdk.kotlin.services.invoicing.model.EinvoiceDeliveryDocumentType
import aws.sdk.kotlin.services.invoicing.model.EinvoiceDeliveryPreference
import aws.sdk.kotlin.services.invoicing.model.ProcurementPortalPreferenceSelector
import aws.sdk.kotlin.services.invoicing.model.Protocol
import aws.sdk.kotlin.services.invoicing.model.PurchaseOrderDataSource
import aws.sdk.kotlin.services.invoicing.model.PurchaseOrderDataSourceType
import aws.sdk.kotlin.services.invoicing.model.SupplierDomain
import aws.sdk.kotlin.services.invoicing.model.TestEnvPreferenceInput
import aws.smithy.kotlin.runtime.time.Instant
import aws.smithy.kotlin.runtime.time.fromEpochMilliseconds

fun main() { 
   //sampleStart 
   // PutProcurementPortalPreference for Coupa pref
val resp = invoicingClient.putProcurementPortalPreference {
    procurementPortalPreferenceArn = "arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd"
    procurementPortalSharedSecret = "Coupa_Secret_2"
    procurementPortalInstanceEndpoint = "https://www.placeholder-domain.test"
    selector = ProcurementPortalPreferenceSelector {
        invoiceUnitArns = listOf<String>(
            "arn:aws:invoicing::111111111111:invoice-unit/12345679"
        )
        sellerOfRecords = listOf<String>(
            "AWS_INC"
        )
    }
    testEnvPreference = TestEnvPreferenceInput {
        buyerDomain = BuyerDomain.fromValue("NetworkID")
        buyerIdentifier = "BuyerId_1_Test"
        supplierDomain = SupplierDomain.fromValue("NetworkID")
        supplierIdentifier = "SupplierId_1_Test"
        procurementPortalSharedSecret = "Coupa_Secret_test_2"
        procurementPortalInstanceEndpoint = "https://www.placeholder-domain.test"
    }
    einvoiceDeliveryEnabled = true
    einvoiceDeliveryPreference = EinvoiceDeliveryPreference {
        einvoiceDeliveryDocumentTypes = listOf<EinvoiceDeliveryDocumentType>(
            EinvoiceDeliveryDocumentType.fromValue("AWS_CLOUD_INVOICE")
        )
        einvoiceDeliveryAttachmentTypes = listOf<EinvoiceDeliveryAttachmentType>(
            EinvoiceDeliveryAttachmentType.fromValue("INVOICE_PDF")
        )
        protocol = Protocol.fromValue("CXML")
        purchaseOrderDataSources = listOf<PurchaseOrderDataSource>(
            PurchaseOrderDataSource {
                einvoiceDeliveryDocumentType = EinvoiceDeliveryDocumentType.fromValue("AWS_CLOUD_INVOICE")
                purchaseOrderDataSourceType = PurchaseOrderDataSourceType.fromValue("ASSOCIATED_PURCHASE_ORDER_REQUIRED")
            }                
        )
        connectionTestingMethod = ConnectionTestingMethod.fromValue("PROD_ENV_DOLLAR_TEST")
        einvoiceDeliveryActivationDate = Instant.fromEpochMilliseconds(1750279280091)
    }
    purchaseOrderRetrievalEnabled = true
    contacts = listOf<Contact>(
        Contact {
            name = "John Doe2"
            email = "example-placeholder2@amazon.com"
        }            
    )
} 
   //sampleEnd
}