B2BI / Client / test_conversion

test_conversion

B2BI.Client.test_conversion(**kwargs)

This operation mimics the latter half of a typical Outbound EDI request. It takes an input JSON/XML in the B2Bi shape as input, converts it to an X12 EDI string, and return that string.

See also: AWS API Documentation

Request Syntax

response = client.test_conversion(
    source={
        'fileFormat': 'JSON'|'XML',
        'inputFile': {
            'fileContent': 'string'
        }
    },
    target={
        'fileFormat': 'X12',
        'formatDetails': {
            'x12': {
                'transactionSet': 'X12_100'|'X12_101'|'X12_102'|'X12_103'|'X12_104'|'X12_105'|'X12_106'|'X12_107'|'X12_108'|'X12_109'|'X12_110'|'X12_111'|'X12_112'|'X12_113'|'X12_120'|'X12_121'|'X12_124'|'X12_125'|'X12_126'|'X12_127'|'X12_128'|'X12_129'|'X12_130'|'X12_131'|'X12_132'|'X12_133'|'X12_135'|'X12_138'|'X12_139'|'X12_140'|'X12_141'|'X12_142'|'X12_143'|'X12_144'|'X12_146'|'X12_147'|'X12_148'|'X12_149'|'X12_150'|'X12_151'|'X12_152'|'X12_153'|'X12_154'|'X12_155'|'X12_157'|'X12_158'|'X12_159'|'X12_160'|'X12_161'|'X12_163'|'X12_170'|'X12_175'|'X12_176'|'X12_179'|'X12_180'|'X12_185'|'X12_186'|'X12_187'|'X12_188'|'X12_189'|'X12_190'|'X12_191'|'X12_194'|'X12_195'|'X12_196'|'X12_197'|'X12_198'|'X12_199'|'X12_200'|'X12_201'|'X12_202'|'X12_203'|'X12_204'|'X12_205'|'X12_206'|'X12_210'|'X12_211'|'X12_212'|'X12_213'|'X12_214'|'X12_215'|'X12_216'|'X12_217'|'X12_218'|'X12_219'|'X12_220'|'X12_222'|'X12_223'|'X12_224'|'X12_225'|'X12_227'|'X12_228'|'X12_240'|'X12_242'|'X12_244'|'X12_245'|'X12_248'|'X12_249'|'X12_250'|'X12_251'|'X12_252'|'X12_255'|'X12_256'|'X12_259'|'X12_260'|'X12_261'|'X12_262'|'X12_263'|'X12_264'|'X12_265'|'X12_266'|'X12_267'|'X12_268'|'X12_269'|'X12_270'|'X12_271'|'X12_272'|'X12_273'|'X12_274'|'X12_275'|'X12_276'|'X12_277'|'X12_278'|'X12_280'|'X12_283'|'X12_284'|'X12_285'|'X12_286'|'X12_288'|'X12_290'|'X12_300'|'X12_301'|'X12_303'|'X12_304'|'X12_309'|'X12_310'|'X12_311'|'X12_312'|'X12_313'|'X12_315'|'X12_317'|'X12_319'|'X12_322'|'X12_323'|'X12_324'|'X12_325'|'X12_326'|'X12_350'|'X12_352'|'X12_353'|'X12_354'|'X12_355'|'X12_356'|'X12_357'|'X12_358'|'X12_361'|'X12_362'|'X12_404'|'X12_410'|'X12_412'|'X12_414'|'X12_417'|'X12_418'|'X12_419'|'X12_420'|'X12_421'|'X12_422'|'X12_423'|'X12_424'|'X12_425'|'X12_426'|'X12_429'|'X12_431'|'X12_432'|'X12_433'|'X12_434'|'X12_435'|'X12_436'|'X12_437'|'X12_440'|'X12_451'|'X12_452'|'X12_453'|'X12_455'|'X12_456'|'X12_460'|'X12_463'|'X12_466'|'X12_468'|'X12_470'|'X12_475'|'X12_485'|'X12_486'|'X12_490'|'X12_492'|'X12_494'|'X12_500'|'X12_501'|'X12_503'|'X12_504'|'X12_511'|'X12_517'|'X12_521'|'X12_527'|'X12_536'|'X12_540'|'X12_561'|'X12_567'|'X12_568'|'X12_601'|'X12_602'|'X12_620'|'X12_625'|'X12_650'|'X12_715'|'X12_753'|'X12_754'|'X12_805'|'X12_806'|'X12_810'|'X12_811'|'X12_812'|'X12_813'|'X12_814'|'X12_815'|'X12_816'|'X12_818'|'X12_819'|'X12_820'|'X12_821'|'X12_822'|'X12_823'|'X12_824'|'X12_826'|'X12_827'|'X12_828'|'X12_829'|'X12_830'|'X12_831'|'X12_832'|'X12_833'|'X12_834'|'X12_835'|'X12_836'|'X12_837'|'X12_838'|'X12_839'|'X12_840'|'X12_841'|'X12_842'|'X12_843'|'X12_844'|'X12_845'|'X12_846'|'X12_847'|'X12_848'|'X12_849'|'X12_850'|'X12_851'|'X12_852'|'X12_853'|'X12_854'|'X12_855'|'X12_856'|'X12_857'|'X12_858'|'X12_859'|'X12_860'|'X12_861'|'X12_862'|'X12_863'|'X12_864'|'X12_865'|'X12_866'|'X12_867'|'X12_868'|'X12_869'|'X12_870'|'X12_871'|'X12_872'|'X12_873'|'X12_874'|'X12_875'|'X12_876'|'X12_877'|'X12_878'|'X12_879'|'X12_880'|'X12_881'|'X12_882'|'X12_883'|'X12_884'|'X12_885'|'X12_886'|'X12_887'|'X12_888'|'X12_889'|'X12_891'|'X12_893'|'X12_894'|'X12_895'|'X12_896'|'X12_920'|'X12_924'|'X12_925'|'X12_926'|'X12_928'|'X12_940'|'X12_943'|'X12_944'|'X12_945'|'X12_947'|'X12_980'|'X12_990'|'X12_993'|'X12_996'|'X12_997'|'X12_998'|'X12_999'|'X12_270_X279'|'X12_271_X279'|'X12_275_X210'|'X12_275_X211'|'X12_276_X212'|'X12_277_X212'|'X12_277_X214'|'X12_277_X364'|'X12_278_X217'|'X12_820_X218'|'X12_820_X306'|'X12_824_X186'|'X12_834_X220'|'X12_834_X307'|'X12_834_X318'|'X12_835_X221'|'X12_837_X222'|'X12_837_X223'|'X12_837_X224'|'X12_837_X291'|'X12_837_X292'|'X12_837_X298'|'X12_999_X231',
                'version': 'VERSION_4010'|'VERSION_4030'|'VERSION_4050'|'VERSION_4060'|'VERSION_5010'|'VERSION_5010_HIPAA'
            }
        },
        'outputSampleFile': {
            'fileLocation': {
                'bucketName': 'string',
                'key': 'string'
            }
        },
        'advancedOptions': {
            'x12': {
                'splitOptions': {
                    'splitBy': 'NONE'|'TRANSACTION'
                },
                'validationOptions': {
                    'validationRules': [
                        {
                            'codeListValidationRule': {
                                'elementId': 'string',
                                'codesToAdd': [
                                    'string',
                                ],
                                'codesToRemove': [
                                    'string',
                                ]
                            },
                            'elementLengthValidationRule': {
                                'elementId': 'string',
                                'maxLength': 123,
                                'minLength': 123
                            },
                            'elementRequirementValidationRule': {
                                'elementPosition': 'string',
                                'requirement': 'OPTIONAL'|'MANDATORY'
                            }
                        },
                    ]
                }
            }
        }
    }
)
Parameters:
  • source (dict) –

    [REQUIRED]

    Specify the source file for an outbound EDI request.

    • fileFormat (string) – [REQUIRED]

      The format for the input file: either JSON or XML.

    • inputFile (dict) – [REQUIRED]

      File to be converted

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: fileContent.

      • fileContent (string) –

        Specify the input contents, as a string, for the source of an outbound transformation.

  • target (dict) –

    [REQUIRED]

    Specify the format (X12 is the only currently supported format), and other details for the conversion target.

    • fileFormat (string) – [REQUIRED]

      Currently, only X12 format is supported.

    • formatDetails (dict) –

      A structure that contains the formatting details for the conversion target.

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: x12.

      • x12 (dict) –

        A structure that contains the X12 transaction set and version. The X12 structure is used when the system transforms an EDI (electronic data interchange) file.

        Note

        If an EDI input file contains more than one transaction, each transaction must have the same transaction set and version, for example 214/4010. If not, the transformer cannot parse the file.

        • transactionSet (string) –

          Returns an enumerated type where each value identifies an X12 transaction set. Transaction sets are maintained by the X12 Accredited Standards Committee.

        • version (string) –

          Returns the version to use for the specified X12 transaction set.

    • outputSampleFile (dict) –

      Customer uses this to provide a sample on what should file look like after conversion X12 EDI use case around this would be discovering the file syntax

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: fileLocation.

      • fileLocation (dict) –

        Specifies the details for the Amazon S3 file location that is being used with Amazon Web Services B2B Data Interchange. File locations in Amazon S3 are identified using a combination of the bucket and key.

        • bucketName (string) –

          Specifies the name of the Amazon S3 bucket.

        • key (string) –

          Specifies the Amazon S3 key for the file location.

    • advancedOptions (dict) –

      A structure that contains advanced options for EDI processing. Currently, only X12 advanced options are supported.

      • x12 (dict) –

        A structure that contains X12-specific advanced options, such as split options for processing X12 EDI files.

        • splitOptions (dict) –

          Specifies options for splitting X12 EDI files. These options control how large X12 files are divided into smaller, more manageable units.

          • splitBy (string) – [REQUIRED]

            Specifies the method used to split X12 EDI files. Valid values include TRANSACTION (split by individual transaction sets), or NONE (no splitting).

        • validationOptions (dict) –

          Specifies validation options for X12 EDI processing. These options control how validation rules are applied during EDI document processing, including custom validation rules for element length constraints, code list validations, and element requirement checks.

          • validationRules (list) –

            Specifies a list of validation rules to apply during EDI document processing. These rules can include code list modifications, element length constraints, and element requirement changes.

            • (dict) –

              Represents a single validation rule that can be applied during X12 EDI processing. This is a union type that can contain one of several specific validation rule types: code list validation rules for modifying allowed element codes, element length validation rules for enforcing custom length constraints, or element requirement validation rules for changing mandatory/optional status. Each validation rule targets specific aspects of EDI document validation to ensure compliance with trading partner requirements and business rules.

              Note

              This is a Tagged Union structure. Only one of the following top level keys can be set: codeListValidationRule, elementLengthValidationRule, elementRequirementValidationRule.

              • codeListValidationRule (dict) –

                Specifies a code list validation rule that modifies the allowed code values for a specific X12 element. This rule enables you to customize which codes are considered valid for an element, allowing for trading partner-specific code requirements.

                • elementId (string) – [REQUIRED]

                  Specifies the four-digit element ID to which the code list modifications apply. This identifies which X12 element will have its allowed code values modified.

                • codesToAdd (list) –

                  Specifies a list of code values to add to the element’s allowed values. These codes will be considered valid for the specified element in addition to the standard codes defined by the X12 specification.

                  • (string) –

                • codesToRemove (list) –

                  Specifies a list of code values to remove from the element’s allowed values. These codes will be considered invalid for the specified element, even if they are part of the standard codes defined by the X12 specification.

                  • (string) –

              • elementLengthValidationRule (dict) –

                Specifies an element length validation rule that defines custom length constraints for a specific X12 element. This rule allows you to enforce minimum and maximum length requirements that may differ from the standard X12 specification.

                • elementId (string) – [REQUIRED]

                  Specifies the four-digit element ID to which the length constraints will be applied. This identifies which X12 element will have its length requirements modified.

                • maxLength (integer) – [REQUIRED]

                  Specifies the maximum allowed length for the identified element. This value must be between 1 and 200 characters and defines the upper limit for the element’s content length.

                • minLength (integer) – [REQUIRED]

                  Specifies the minimum required length for the identified element. This value must be between 1 and 200 characters and defines the lower limit for the element’s content length.

              • elementRequirementValidationRule (dict) –

                Specifies an element requirement validation rule that modifies whether a specific X12 element is required or optional within a segment. This rule provides flexibility to accommodate different trading partner requirements for element presence.

                • elementPosition (string) – [REQUIRED]

                  Specifies the position of the element within an X12 segment for which the requirement status will be modified. The format follows the pattern of segment identifier followed by element position (e.g., “ST-01” for the first element of the ST segment).

                • requirement (string) – [REQUIRED]

                  Specifies the requirement status for the element at the specified position. Valid values are OPTIONAL (the element may be omitted) or MANDATORY (the element must be present).

Return type:

dict

Returns:

Response Syntax

{
    'convertedFileContent': 'string',
    'validationMessages': [
        'string',
    ]
}

Response Structure

  • (dict) –

    • convertedFileContent (string) –

      Returns the converted file content.

    • validationMessages (list) –

      Returns an array of validation messages that Amazon Web Services B2B Data Interchange generates during the conversion process. These messages include both standard EDI validation results and custom validation messages when custom validation rules are configured. Custom validation messages provide detailed feedback on element length constraints, code list validations, and element requirement checks applied during the outbound EDI generation process.

      • (string) –

Exceptions